PM2는 Node.js 애플리케이션을 관리하고 실행하는 프로세스 관리자로 vm환경에서 내가 컴퓨터를 끄더라도 계속 서버가 켜져있게 도와주거나 node를 이용하여 개발을 할때 pm2 log
로 에러를 찾기 쉽게 도와준다.
간혹 npm i -g pm2
한 경우에도 whereis pm2
한 경우에도 경로를 찾지 못하는 경우가 있다.
pm2 : command not fount 에러해결하기
원인 찾기 및 해결 순서
- "pm2: command not found" 오류는 PM2(Process Manager 2) 명령어가 시스템 경로에 없을 때 발생하는 오류이다.
먼저 pm2 설치 여부를 확인한다.
- 우선 PM2가 시스템에 설치되어 있는지 확인해야 한다. 아래 명령어를 사용하여 설치 여부를 확인할 수 있다.
pm2 --version
PM2 설치가 안돼어 있는 경우
- PM2가 설치되지 않은 경우, 다음 명령어를 사용하여 PM2를 설치한다.
npm install -g pm2
-g
플래그는 전역으로 설치하는 것을 의미한다. 따라서 명령어가 관리자 권한이 필요할 수 있다. 만약 관리자 권한이 필요하다면 명령어 앞에 sudo
를 붙이면 된다.
sudo npm install -g pm2
시스템 PATH 확인해보기
- PM2를 설치한 후에도 해당 오류가 발생하면 경로문제를 생각해보자. 시스템 PATH에 Node.js 및 npm의 경로가 제대로 설정되어 있는지 확인하면 된다. PM2는 Node.js 환경에서 실행되기 때문에 Node.js와 npm이 시스템 PATH에 포함되어 있어야 한다.
환경 변수 업데이트
- 환경 변수를 업데이트하여 Node.js 및 npm의 경로를 추가할 수도 있습니다. 시스템마다 환경 변수 설정 방법이 다를 수 있으므로 해당하는 시스템 가이드를 참조하세요.
재로그인 혹은 재시작
- 환경 변수나 PATH 설정을 변경한 경우, 새 터미널 세션을 시작하거나 시스템을 재시작하여 변경 사항을 적용해보자.
pm2설치시 시스템 path 확인부터 설정까지
- 시스템 환경 변수(Path) 설정은 각 운영 체제별로 조금씩 다를 수 있다.
- Windows,Unix(예: Linux, macOS) 운영 체제
Windows 환경 변수 설정:
- 시작 메뉴를 열고 검색 창에 "환경 변수 편집"을 입력하여 "환경 변수 편집" 옵션을 선택
- 아래의 "시스템 변수" 섹션에서 "Path" 변수를 선택하고 "편집" 버튼을 클릭.
- "새로 만들기" 버튼을 클릭하여 PM2와 Node.js 설치 경로를 추가하기.
- 예시 :Node.js와 PM2의 기본 설치 경로
- Node.js: `C:\Program Files\nodejs`
- PM2: `C:\Users\<사용자 이름>\AppData\Roaming\npm`
-
변경 사항을 저장하고 창을 닫기
-
새로운 명령 프롬프트나 터미널 세션을 시작하여 pm2 --version
명령어를 실행해 PM2가 올바르게 인식되는지 확인
Unix (Linux, macOS) 환경 변수 설정:
- 터미널을 열고 다음 명령어를 사용하여 사용자 홈 디렉토리의 프로필 파일 열기. 프로필 파일은 대부분
.bashrc
, .bash_profile
, .zshrc
등으로 돼있다.
nano ~/.zshrc
- 파일 내에서 맨 아래 부분에 다음과 같이 Node.js와 PM2 설치 경로를 추가한다.
export PATH="$PATH:/usr/local/bin"
-
Ctrl + O
를 눌러 변경사항을 저장하고 Ctrl + X
를 눌러 텍스트 편집기를 종료한다.
-
터미널 세션을 새로 시작하거나 source ~/.bashrc
명령을 실행하여 변경 사항을 즉시 적용한다
-
pm2 --version
명령어를 실행하여 PM2가 올바르게 인식되는지 확인해주면 끝!
그래도 해결이 안된다면??
- 임시로
npx pm2 start
로 일단 실행 할 것
pm2 깃허브 보고 해결한 썰 보려면 아래링크로 ㄱㄱ
pm2 경로 문제 어찌저찌 해결한 썰