npm全局安装在弹性豆茎上

我正在遇到一个安装PM2的问题,在aws elastic beanstalk上全局安装。 我创build了以下用于安装pm2的脚本:

option_settings: - option_name: NODE_ENV value: production container_commands: 01_enable_rootaccess: command: echo Defaults:root \!requiretty >> /etc/sudoers 02_install_imagemagic: command: yum install -y ImageMagick 03_download_new_relic: command: rpm -Uvh http://download.newrelic.com/pub/newrelic/el5/i386/newrelic-repo-5-3.noarch.rpm ignoreErrors: true 04_install_new_relic: command: yum install -y newrelic-sysmond ignoreErrors: true 05_add_license_key: command: /usr/sbin/nrsysmond-config --set license_key=xxxxxxx ignoreErrors: true 06_start_new_relic: command: /etc/init.d/newrelic-sysmond start ignoreErrors: true 07_install_pm2: command: sudo /opt/elasticbeanstalk/node-install/node-v0.10.26-linux-x64/bin/npm install pm2 -g ignoreErrors: true 08_stop_old_pm2_processes: command: sudo /opt/elasticbeanstalk/node-install/node-v0.10.26-linux-x64/bin/pm2 delete all ignoreErrors: true 09_start_pm2: command: sudo /opt/elasticbeanstalk/node-install/node-v0.10.26-linux-x64/bin/pm2 startup -u ec2-user ignoreErrors: true 

我已经尝试使用只是'pm2删除所有'和'pm2启动'命令8和9把我只是得到命令未find。 当我给具体pathpm2(我login到ec2和validation)我得到“第4行:exec::找不到”。 任何想法我在这里做错了吗? 在此先感谢您的帮助!

我设法在弹性beanstalk上全局安装pm2,embedded在.ebextensions / your_file_name.config文件中的以下代码片段

 container_commands: 01_node_symlink: command: "ln -sf `ls -td /opt/elasticbeanstalk/node-install/node-* | head -1`/bin/node /bin/node" 02_npm_symlink: command: "ln -sf `ls -td /opt/elasticbeanstalk/node-install/node-* | head -1`/bin/npm /bin/npm" 03_pm2_install: command: "if [ ! -e /bin/pm2 ]; then npm install pm2 -g; fi" ignoreErrors: true 

您可能需要确保已安装nodejs-legacy模块。 如果pm2取决于可执行的命名node ,那么当系统像某些Linux系统(Ubuntu,Debian)经常那样将其作为nodejs全局安装时,将会失败。