#!/bin/bash
# install needed RPMS
yum -y install gcc-c++ git
# downlaod and compile node
wget https://nodejs.org/dist/v0.12.7/node-v0.12.7.tar.gz
tar -xvzf node-v0.12.7.tar.gz
cd node-v0.12.7
./configure
make
sudo make install
# install pm2 via npm
/usr/local/bin/npm install pm2 -g
# start processes.json
cd /home/admin/Order-Management/
/usr/local/lib/node_modules/pm2/bin/pm2 start processes.json
위 스크립트를 로컬에서 실행하면 정상적으로 실행되지만 클라이언트 컴퓨터에서 puppet을 사용하여 실행하려고 하면 마지막 줄에서 다음 오류가 발생합니다.
/usr/bin/env: node: No such file or directory
저는 RedHat 6 마스터와 RedHat 6 클라이언트를 사용하고 있습니다. 여기서 해결책을 봤어요 https://stackoverflow.com/questions/30281057/node-forever-usr-bin-env-node-no-such-file-or-director그러나 그것은 나에게 효과가 없습니다.
답변1
Puppet을 실행하는 동안 노드가 PATH에 없을 수 있습니다. 다음 스크립트를 사용해 보세요.
#!/bin/bash
# install needed RPMS
yum -y install gcc-c++ git
# downlaod and compile node
wget https://nodejs.org/dist/v0.12.7/node-v0.12.7.tar.gz
tar -xvzf node-v0.12.7.tar.gz
cd node-v0.12.7
./configure
make
sudo make install
# install pm2 via npm
/usr/local/bin/node /usr/local/bin/npm install pm2 -g
# start processes.json
cd /home/admin/Order-Management/
/usr/local/bin/node /usr/local/lib/node_modules/pm2/bin/pm2 start processes.json