it-swarm.com.de

Für immer: Befehl nicht gefunden

Ich bekomme eine 

forever: Befehl nicht gefunden Fehler beim Ausführen eines nodejs-Prozesses mit dem Befehl forever als Cronjob (in einem Amazon ec2-Computer): Das von mir verwendete Bash-Skript hat folgenden Code:

cd in/location/der/nodejs/-Datei

für immer starten Sie file.js

aber ich bin in der Lage, diese Datei mit bash script.sh auszuführen, aber ich bekomme den "forever:" -Befehl nicht gefunden, wenn ich sie per Cronjob ausführte

Ich bin verwirrt, weiß nicht, was der Grund dafür sein könnte.

Hat jemand anderes mit diesem Problem konfrontiert?

Danke im Voraus

27
azero0

Hey stand vor demselben Problem 

Verwendet npm install forever -g und mein Problem ist gelöst ... vielleicht hilft dir das auch

41
sunitj

falls die Lösung von azero0 für Sie nicht funktioniert und Sie Linux verwenden, versuchen Sie es

Sudo npm install forever -g
8
babycakes

Für andere Benutzer, die mit diesem Problem konfrontiert sind: 

sie müssen den Pfad für immer Modul hinzufügen und dann das Skript als Cronjob ausführen.

In Linux lautet der Pfad normalerweise: 

/usr/local/lib/node_modules/forever/bin/für immer start file.js  

verwenden Sie einfach diesen Befehl in Ihrem Skript und der Fehler forever: Befehl nicht gefunden wird Sie nicht stören.

Ich weiß, dass es andere Möglichkeiten gibt, um dies zu tun, aber ich bin mit diesem Hack glücklich

8
azero0

Wenn Sie es schon probiert haben: 

Sudo npm install forever -g

und immer noch forever:command not found auf die erste Zeile in der Ausgabe achten. Dies sollte ungefähr so ​​sein:

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

dabei ist node_bin_path der Ort, an dem sich die ausführbare Datei befindet. Dies ist höchstwahrscheinlich nicht dort, wo Sie es erwarten. 

Dies kann daran liegen, dass node in Ihrem Pfad ein symbolischer Link ist. In diesem Fall wird forever am tatsächlichen Installationsort von node installiert, nicht am Ort des symbolischen Links.

3
meesern

es scheint, dass es für immer nicht global gefunden wurde 

npm i forever -g 
0
KARTHIKEYAN.A

Unter dem Bash-Skript Code Überprüfen Sie, ob das Skript ausgeführt wird. Wenn nicht Stop and Start und Benachrichtigungsmail ausgeführt werden.

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

dies funktionierte für mich auf ubuntu 16.04 server und nodejs v7.5.0 

0
alicanozkara