web-dev-qa-db-fra.com

Forever: commande non trouvée

Je reçois un 

forever: commande introuvable error lorsque j'exécute un processus nodejs à l'aide de la commande forever en tant que travail cron (sur une machine Amazon ec2): le script bash que j'utilise utilise le code suivant:

cd dans/location/of/the/nodejs/file

démarrer toujours file.js

mais je suis capable d'exécuter ce fichier en utilisant bash script.sh mais j'obtiens toujours: erreur de commande introuvable lorsque je l'exécute via cronjob

Je suis confus ne sais pas quelle pourrait en être la raison.

Quelqu'un d'autre a-t-il rencontré ce problème?

Merci d'avance

27
azero0

Hey était confronté au même problème 

npm install forever -g utilisé et mon problème est résolu ... peut-être que ça vous aidera aussi

41
sunitj

au cas où la solution de azero0 ne fonctionnerait pas pour vous et que vous utilisiez Linux, essayez

Sudo npm install forever -g
8
babycakes

Pour les autres utilisateurs confrontés à ce problème: 

vous devez ajouter le chemin du module forever, puis exécuter le script en tant que tâche cron.

Sous Linux, le chemin est normalement: 

/usr/local/lib/node_modules/forever/bin/forever start fichier.js  

utilisez simplement cette commande dans votre script et l'erreur forever: commande non trouvée ne vous dérangera pas.

Je sais qu'il doit y avoir d'autres moyens sophistiqués de le faire, mais je suis heureux avec ce bidouillage

8
azero0

Si vous avez déjà essayé: 

Sudo npm install forever -g

et toujours obtenir forever:command not found faites attention à la première ligne de la sortie. Cela devrait être quelque chose comme:

/<node_bin_path>/forever -> /lib/node_modules/forever/bin/forever

node_bin_path est l'endroit où se trouve l'exécutable. Ce n'est probablement pas où vous vous attendez. 

Cela peut être dû au fait que node dans votre chemin est un lien symbolique. Dans ce cas, forever sera installé à l'emplacement d'installation réel de node et non à l'emplacement du lien symbolique.

3
meesern

il semble pour toujours pas trouvé dans globalement, utilisez la commande ci-dessous pour résoudre 

npm i forever -g 
0
KARTHIKEYAN.A

Ci-dessous, le code de script bash Vérifiez votre script en cours d'exécution. Si vous n'exécutez pas Stop and Start et le courrier de notification.

Crontab

*/1     *       *       *       *       sh /root/yourscriptdirectory/checklive.sh >> /root/yourscriptdirectory/cron.log 2>&1

checklive.sh

chmod + x ./checklive.sh

cd /root/yourscriptdirectory/

ps xa | grep -F "/usr/local/bin/node /root/yourscriptdirectory/script.js"  | grep -Fv "grep"  > /dev/null
if [ $? -eq 0 ]; then
echo ""
else
  echo "script.js not running. Restart"
  /usr/local/bin/node /usr/local/lib/node_modules/forever/bin/forever stop script.js
  /usr/local/bin/node /usr/local/lib/node_modules/forever/bin/forever start script.js
  echo "STOP : script.js Process is stoped restarting..."  | mail -s "STOP : script.js Process is stoped restarting..." "<[email protected]>" &
fi
0
Yasin Bikmazer
Sudo npm install forever --global

cela a fonctionné pour moi sur le serveur Ubuntu 16.04 et la version 7.5.0 de nodejs 

0
alicanozkara