문제
- WSL2 기반 Ubuntu에서 제공하는 bash가 아닌, zsh를 이용하고 있습니다.
- Ubuntu가 연결되어 있는 VS Code에서 pip3를 이용하여 특정 패키지를 설치하니 다음과 같은 에러가 발생했습니다.
WARNING: The script pycodestyle is installed in '/home/monggu/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
...
문제 원인
찾아본 결과, 위 경고 문구 중 빨간색 글씨는 공통된 부분이고 주황색 글씨가 설치한 패키지 및 설치되는 경로에 따라 달라지는 것을 확인했습니다. 이러한 경고는 특정 패키지가 설치된 경로가 OS에서 명령어를 실행할 수 있는 경로 집합인 $PATH에 포함되어 있지 않기 때문에 발생합니다.
우선 경고 메세지에서 알려준 경로에 실제로 패키지가 설치되었는지 확인해보니 두 패키지가 덩그러니 /home/monggu/.local/bin라는 경로에 설치되어 있네요. zsh가 이 경로를 인식하고 있을까요?
vim ~/.zshrc 를 통해 .zshrc 파일을 열고, zsh가 인식할 수 있는 경로가 어떻게 설정되어 있는지 확인했습니다.
만약 export PATH= ~가 설정되어 있지 않으신 분들이라면 zsh(z 쉘)이 인식할 수 있는 경로를 위와 같이 설정해주셔야 합니다. 제가 기존에 설정해놓은 경로는 기존의 $PATH에 더해, $HOME/bin과 /usr/local/bin 이렇게 두 개를 추가해놨네요. 위 소스코드가 이해되지 않으시는 분들은 여기를 참고해주시면 도움이 될 것 같습니다.
echo $PATH를 통해 기존의 경로를 한 번 살펴보겠습니다.
경고 메세지에서 알려주는 경로인 /home/monggu/.local/bin는 기존에 설정해놓은 PATH에는 존재하지 않습니다. 설치한 패키지를 정상적으로 인식하고, 더 이상 경고메세지가 발생하지 않도록 위 경로를 PATH에 추가해줍시다.
문제 해결
문제를 해결하는 방법은 간단합니다. .zshrc 파일에서 PATH를 설정해놓은 부분에 /home/monggu/.local/bin 경로를 추가해주시면 됩니다. 여기서 두 가지 방법이 존재하는데, 하나는 리눅스 환경변수인 $HOME를 활용하는 방법과, 하나는 절대 경로를 그대로 추가해주시는 방법이 되겠습니다.
(1) 리눅스 환경변수 $HOME를 활용하는 방법
echo $HOME을 통해 현재 $HOME이 어떠한 경로로 지정되어 있는지 확인해봅니다.
추가해야 할 경로인 /home/monggu/.local/bin에서 /home/monggu를 $HOME으로 대체할 수 있겠네요. 이렇게 $HOME을 활용하게 된다면 PATH에는 $HOME/.local/bin 을 추가해주시면 되겠습니다.
export PATH=...:$HOME/.local/bin:...:$PATH
실제 .zshrc 내부 소스코드
...
export PATH=$HOME/bin:/usr/local/bin:$HOME/.local/bin:$PATH
...
(2) 절대 경로를 그대로 추가하는 방법
말 그대로 /home/monggu/.local/bin 전체를 PATH에 추가해주시면 됩니다. 두 방법 중 어떠한 방법을 사용하셔도 무관합니다.
export PATH=...:/home/monggu/.local/bin:...:$PATH
실제 .zshrc 내부 소스코드
...
export PATH=$HOME/bin:/usr/local/bin:/home/monggu/.local/bin:$PATH
...
'Dev > 환경 설정' 카테고리의 다른 글
Ubuntu에서 CMake 설치 방법 (0) | 2021.03.15 |
---|---|
sublime text에서 terminal 이용하는 방법 (0) | 2020.09.05 |
Windows 10 터미널 커스터마이징 (feat. WSL2, oh-my-zsh) (8) | 2020.08.26 |
리눅스 C/C++ 개발 환경 설정 (Vim, Visual Studio Code) (0) | 2020.06.24 |
WSL2 (Windows Subsystem for Linux 2) 설치 방법 (2) | 2020.06.23 |