본문 바로가기

IT/Cloud

[AWS-CLI] aws: command not found 해결법

일반적인 리눅스 터미널에서 awscli를 설치하였을 때, 보통은 제대로 작동하지만, git bash는 윈도우 상에서 리눅스 시스템을 사용하도록 에뮬레이터로 “흉내” 낸 것이기 때문에 경로가 잘 매칭 되지 않는 문제가 빈번히 일어난다. 그 결과로 다음과 같이 제대로 명령어가 작동하지 않는 경우가 종종 일어난다.

리눅스 환경에서도 경로 해석이 잘못 될 경우, 일어나는 에러이다.

 

위 문제를 해결하기 위하여 가장 먼저 awscli가 어떤 언어 기반으로 실행되는지 찾아보았다. 공식 aws github를 찾아본 결과, python을 사용하는 것을 알 수 있었다.

 

Python기반으로 실행되는 스크립트 임을 알게 되었으니, 이제 실행파일이 어디 있는지 확인해보았다. 일반적으로 pip uninstall 명령어를 사용하면 다음과 같이 패키지가 설치 된 경로를 출력한다.

 

위와 같이 내 컴퓨터에서 awscli가 설치된 경로는

c:\users\it1903004\appdata\roaming\python\python37\scripts\aws

 임을 알 수 있었다.

 

awscli를 사용할 때 마다 위 경로를 계속하여 타이핑 하는 것은 매우 비효율적이므로 위 경로의 스크립트를 python으로 실행시키는 것을 “aws“명령어로 alias시켜 사용하기로 결정하였다. alias를 등록하기 위해서 사용자 root 디렉토리 경로에서 ./bashrc파일을 생성하였다.

vi ~/.bashrc
//vi editor 상으로 aws script가 있는 경로에 있는 파일을 python으로 실행시키는 코드를 입력한다.

alias aws='python "c:\users\it1903004\appdata\roaming\python\python37\scripts\aws"'
//입력 후 :wq로 저장한다.


source ./bashrc 
//source 명령어로 ./bashrc 파일을 시스템 상에 적용한다.

 

 

 

 

 

다음과 같은 절차를 거치게 되면 최종적으로 시스템 상에서 aws명령어를 정상적으로 사용할 수 있게 된다.