만족

[Nodejs] crontab/shell 스크립트에서 node 명령어를 찾을 수 없는 문제 본문

[Nodejs] crontab/shell 스크립트에서 node 명령어를 찾을 수 없는 문제

Nodejs Satisfaction 2022. 3. 30. 20:05

node your_js.js

이런식으로 .sh 파일을 작성했을 때 node를 찾을 수 없는 오류가 발생할 수 있다.

 

이 경우 shell이 node가 어디 있는지를 찾지 못하는 것이므로 절대경로로 입력해주면 해결된다.

 

일반적으로 ubuntu에서는

/usr/local/bin/node your_js.js

처럼 node의 경로는 /usr/local/bin/node 다.

 

하지만 사용자나 운영체제에 따라 조금씩 다를 수도 있고,
nvm을 사용중일 경우엔 저 경로가 확실히 아니기 때문에

which node 명령어의 출력값을 이용하는 것이 좋다.

 

which node는 node의 절대 경로를 출력한다.

 

$(which node) your_js.js

 

정리

터미널에서는 node가 잘 되지만 sh와 같은 스크립트에서 node를 찾을 수 없을 경우

node 대신 $(which node) 를 사용하자.

 



Comments