【问题标题】:PM2 inside bash script deployed and executed with puppet not working使用 puppet 部署和执行的 bash 脚本中的 PM2 不起作用
【发布时间】:2015-12-04 13:25:56
【问题描述】:
    #!/bin/bash
    yum -y install gcc-c++
    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
     yum -y install git
    /usr/local/bin/npm install pm2 -g
    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 客户端。我在这里看到了一个解决方案 Node forever /usr/bin/env: node: No such file or directory 但是不适合我。任何帮助将不胜感激。

【问题讨论】:

  • 您的系统上有node 二进制文件吗?是/usr/local/bin/node吗?
  • 是的,我有它,在你提到的同一个地方。
  • /usr/local/bin/node 是二进制文件还是脚本?如果它是一个脚本,它的第一行说什么?新的终端会话是否有效?
  • 它是一个二进制文件。新的终端会话是什么意思,我没有得到它?
  • 我的意思是启动一个新的终端窗口/shell会话并尝试运行pm2。它有效吗?你可以手动运行/usr/local/bin/node 吗?可以手动运行/usr/bin/env node 吗?

标签: node.js bash puppet pm2


【解决方案1】:

我必须为 puppet exec 资源添加环境变量。这对节点来说不是问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多