Scusa se il soggetto è vago, ma ho cercato di descrivere il mio problema al meglio delle mie possibilità. Ho il mio raspberry pi che voglio distribuire con l'uso della codifica. Rsyncing dei file funziona perfettamente, ma quando devo riavviare la mia applicazione utilizzando pm2
il mio problema si verifica.bash non carica il nodo sul comando ssh remoto
Ho installato nodo e pm2 utilizzando il gestore versione nodo NVM.
ssh [email protected] 'source /home/pi/.bashrc; cd project; pm2 restart app.js -x -- --prod'0 min 3 sec
bash: pm2: command not found
Ho anche aggiunto:
shopt -s expand_aliases
nel profondo del mio bashrc
, ma non aiuta.
Come posso riavviare la mia applicazione dopo aver eseguito una distribuzione? Grazie in anticipo per il tuo saggio consiglio e migliore saggezza!
EDIT 1: Il mio .bashrc http://pastie.org/10529200 mio $ PATH: /home/pi/.nvm/versions/node/v4.2.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
EDIT 2: ho aggiunto /home/pi/.nvm/versions/node/v4.2.0/bin/pm2
che è il percorso completo PM2 e ora ottengo il seguente errore: /usr/bin/env: node: No such file or directory
Sembra che anche se fornisco il percorso completo, il nodo non viene eseguito.
è 'pm2' un alias? Se è così, probabilmente non funzionerà. È meglio scrivere uno script per gestirlo ed eseguire quello script. Anche il comando ssh che hai sta assumendo il tuo funzionamento in una shell, ma non è una buona ipotesi. Forse iniziando il comando ssh con '"/bin/bash -c 'source ....' "' che riporta al commento di uno script sopra riportato. Infine, il comando 'pm2' richiede una tty? senza l'opzione '-t' una tty non verrà assegnata. Alcuni programmi presumono di averne uno se viene solitamente eseguito da una shell interattiva a differenza dell'esempio che hai fornito. – Sukima
Grazie per il suggerimento, purtroppo non avrebbe fatto alcuna differenza. Ho provato quello che hai suggerito, e ho anche aggiunto '/ bin/bash -c" nvm usa 4.2.0 "' per provare e abilitare il nodo. Sfortunatamente non funziona. '/ bin/bash: nvm: comando non trovato /bin/bash: pm2: comando non trovato' – Ms01
Forse la soluzione è semplicemente installare il nodo anziché utilizzare un gestore delle versioni come nvm? Preferirei che l'NVM funzionasse poiché è molto più semplice cambiare le versioni. – Ms01