Bash 스크립트의 노드 경로 문제

Bash 스크립트의 노드 경로 문제

저는 간단한 Node.js 기반 웹사이트를 시작하는 스크립트를 작성 중입니다.

cd ../ap-site/ && npm start

터미널에서 위 명령을 실행하면 문제가 없지만 스크립트에서 실행하면 다음과 같은 결과가 나타납니다.

/usr/bin/env: node: No such file or directory

나는 그것을 사용하고 있다비휘발성현재 노드 버전을 관리하고 싶기 때문에 nvm use 8.8.1파일에 추가한 ~/.bashrc다음 스크립트에서 직접 파일을 가져왔습니다.

source /home/rescue/.bashrc
cd ../ap-site/ && npm start

which npm또한 터미널에서 다음과 같이 생성된 경로를 직접 사용해 보았습니다 .

cd ../ap-site/ && /home/rescue/.nvm/v8.8.1/bin/npm start

그러나 나는 같은 결과를 얻습니다.

상황을 디버깅하고 bash 스크립트에서 노드 프로젝트를 실행하는 방법에 대한 아이디어가 있습니까?

답변1

질문과 답변을 너무 빨리 게시해서 죄송합니다. 하지만 이 내용이 누군가에게 도움이 될 수도 있습니다.

bash를 소싱하는 동안 파일 nvm에 있는데도 로드되지 않는 것 같습니다 .bashrc.

.bashrc스크립트 상단에서 직접 설정을 가져오는 대신 다음을 수행하세요.nvm

export NVM_DIR="/home/rescue/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm
nvm use 8.8.1

이 작업을 수행하면 npm명령이 작동하기 시작했습니다.

.bashrc동일한 3줄의 코드가 포함되어 있기 때문에 소싱이 예상대로 작동하지 않는 이유를 여전히 잘 모르겠습니다 .

sudo스크립트가 항상 ?로 실행되는 것이 관련될 수 있습니다.

관련 정보