web-dev-qa-db-ja.com

永遠:コマンドが見つかりません

私は得ています

forever:command not found cronjobとしてforeverコマンドを使用してnodejsプロセスを実行するとエラー(Amazon ec2マシンで):使用しているbashスクリプトには次のコードがあります:

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

file.jsを永久に起動します

しかし、bash script.shを使用してこのファイルを実行できますが、cronjobで実行するとforever:command not foundエラーが発生します

私はこれがなぜなのかわからないので混乱しています。

他の誰かがこの問題に直面しましたか?

前もって感謝します

30
azero0

ちょっと同じ問題に直面していた

中古 npm install forever -gそして私の問題は解決されました...多分それもあなたを助けるでしょう

43
sunitj

この問題に直面している他のユーザーの場合:

foreverモジュールのパスを追加してから、スクリプトをcronjobとして実行する必要があります。

Linuxでは、通常、パスは次のとおりです。

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

スクリプトでこのコマンドを使用すると、エラーforever:command not foundは気になりません。

私はこれを行うために他のいくつかの派手な方法がなければならないことを知っていますが、このハックに満足しています

10
azero0

azero0の解決策がうまくいかず、Linuxを実行している場合は、試してください

Sudo npm install forever -g
8
babycakes

すでに試した場合:

Sudo npm install forever -g

それでもforever:command not found出力の最初の行に注意してください。これは次のようになります。

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

ここで、node_bin_pathは、実行可能ファイルが置かれている場所です。これは、おそらくあなたが期待する場所ではありません。

これは、パス内のnodeがシンボリックリンクである可能性があります。この場合、foreverは、シンボリックリンクの場所ではなく、nodeの実際のインストール場所にインストールされます。

3
meesern

それは永遠にグローバルに見つからないようです、以下のコマンドを使用して解決してください

npm i forever -g 
1
KARTHIKEYAN.A

以下のbashスクリプトコード実行中のスクリプトを確認します。停止と開始および通知メールを実行していない場合。

クロンタブ

*/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

これはubuntu 16.04サーバーとnodejs v7.5.0で私のために働いた

0
alicanozkara