#!/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 master 和 RedHat 6 client。我在这里看到了一个解决方案 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