[Nest]zsh: command not found: nest 에러

임효진·2024년 3월 10일

Nest

목록 보기
2/4
1.  npm install -g @nestjs/cli
 
2. nest new messages
->messages는 프로젝트 이름
*zsh: command not found: nest

이런 에러가 나온다면 npx @nestjs/cli new project-name
이렇게 설치하면 된다.

만약 zsh: command not found: nest가 나온다면??

이 이슈는 nest 명령어를 실행하려고 했으나, 시스템이 @nestjs/cli 패키지를 찾을 수 없어 발생한다.
이는 @nestjs/cli가 시스템의 전역 경로에 설치되지 않았음을 의미하고, @nestjs/cli는 NestJS 프로젝트를 생성, 관리, 및 실행하는 데 사용되는 커맨드 라인 인터페이스 도구다.

npx @nestjs/cli new project-name

위 코드가 동작하는 이유는 npx가 @nestjs/cli를 임시로 설치하여 실행하기 때문이다.
npxsms Node.js 패키지를 실행할 때 사용되는 도구로 패키지를 전역으로 설치하지 않고도 한 번의 실행을 위해 패키지를 다운로드하고 실행할 수 있게 해준다.

나는 전역으로 @nestjs/cli를 설치했는데도 zsh: command not found:nes가 나타나는데?

필자의 경우에도 이런 이슈였다.
분명 글로벌로 설치했는데도 찾지 못한다는 에러가 나왔다. 처음 cli는 npx로 임시로 설치한다고 쳐도, 모듈과 컨트롤러 등을 설치할때 nest generate에서 동일한 이슈가 발생해서 여간 불편한게 아니였다.

일단 PATH의 환경변수를 확인했다.

간단히 npm의 전역 패키지가 설치되는 경로가 시스템의 PATH에 포함되는지 확인하기 위해서였다. 전역 패키지 경로는 아래와 같다.

npm config get prefix

이 커맨드로 출력 결과로 나온 경로의 /bin 디렉토리를 시스템의 PATH 환경 변수에 추가해야한다. 예를 들어 출력 결과가 '/usr/local이라면, /usr/local/bin을 PATH에 추가해야 한다.

PATH에 npm 경로 추가

만약 zsh를 사용하는 경우에는 '~/.zhsrc'파일에 PATH를 추가하면 된다.(Bash의 경우 '~/.bash.profile' 또는 '~/.bashrc'파일을 수정하면 된다.

export PATH="/usr/local/bin:$PATH"

수정 후 변경사항을 적용하기 위해 터미널을 재시작하거나 아래로 저장해준다.

source ~/.zshrc 
또는
source ~/.bash_profile

필자의 경우, 이 방법으로 해결이 되었다. 도움이 되었으면 좋겠다.

0개의 댓글