7

Występuję z problemem instalującym pm2 na całym świecie na elastycznej fasoli. I stworzył poniższy skrypt do instalowania PM2:npm instalacja globalna na elastycznej fasoli fasolowej

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 

Próbowałem, używając tylko „PM2 usunąć wszystkie” i „” dla PM2 uruchamiania poleceń 8 & 9 put ja po prostu nie znaleziono polecenia. kiedy podaję określoną ścieżkę do pm2 (zalogowałem się do EC2 i zweryfikowałem) otrzymuję "line 4: exec:: not found". jakieś pojęcie, co robię źle tutaj? Z góry dziękuje za twoją pomoc!

Odpowiedz

0

Być może trzeba będzie zainstalować moduł nodejs-legacy. Jeśli pm2 zależy od pliku wykonywalnego o nazwie node, to się nie powiedzie, gdy system instaluje go globalnie jako nodejs, jak często robią to niektóre systemy Linux (Ubuntu, Debian).

5

udało mi się zainstalować PM2 globalnie na elastycznej beanstalk z poniższym fragmencie kodu osadzonego w pliku .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