I am running into an issue installing pm2 globally on aws elastic beanstalk. I created the following script for installing pm2:
我遇到了在aws弹性beanstalk上全局安装pm2的问题。我创建了以下用于安装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
I have tried using just 'pm2 delete all' and 'pm2 startup' for commands 8 & 9 put i just get command not found. when i give the specific path to pm2(i logged on to the ec2 and verified) i get "line 4: exec: : not found". any idea what i am doing wrong here? Thanks in advance for your help!
我已经尝试使用'pm2 delete all'和'pm2 startup'来执行命令8和9 put i just get command not found。当我给pm2的特定路径(我登录到ec2并验证)时,我得到“第4行:exec :: not found”。知道我在这里做错了什么吗?在此先感谢您的帮助!
2 个解决方案
#1
5
I managed to install pm2 globally on elastic beanstalk with the following code snippet embedded in an .ebextensions/your_file_name.config file
我设法在弹性beanstalk上全局安装pm2,并在.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
#2
0
You may need to ensure that the nodejs-legacy
module is installed. If pm2
is depending on the executable named node
, that will fail when the system installs it globally as nodejs
as some Linux systems (Ubuntu, Debian) often do.
您可能需要确保已安装nodejs-legacy模块。如果pm2取决于名为node的可执行文件,那么当系统将其作为nodejs全局安装时,它将失败,因为某些Linux系统(Ubuntu,Debian)经常这样做。
#1
5
I managed to install pm2 globally on elastic beanstalk with the following code snippet embedded in an .ebextensions/your_file_name.config file
我设法在弹性beanstalk上全局安装pm2,并在.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
#2
0
You may need to ensure that the nodejs-legacy
module is installed. If pm2
is depending on the executable named node
, that will fail when the system installs it globally as nodejs
as some Linux systems (Ubuntu, Debian) often do.
您可能需要确保已安装nodejs-legacy模块。如果pm2取决于名为node的可执行文件,那么当系统将其作为nodejs全局安装时,它将失败,因为某些Linux系统(Ubuntu,Debian)经常这样做。