Навсегда: команда не найдена

Я получаю

навсегда: команда не найдена ошибка при запуске процесса nodejs с помощью команды forever в качестве cronjob (на машине amazon ec2): bash скрипт я использую имеет следующий код:

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

навсегда запустить файл.js

но я могу запустить этот файл с помощью bash script.sh но я получаю forever: команда не найдена ошибка, когда я запускаю ее через cronjob

Я путать не знаю, что может быть причиной этого.

кто-нибудь еще сталкивался с этой проблемой?

спасибо заранее

7 ответов


Эй столкнулся с той же проблемой

используется npm install forever -g и моя проблема решена... может быть, это поможет вам также


если решение azero0 не работает для вас, и вы используете linux, попробуйте

sudo npm install forever -g

для других пользователей, которые сталкиваются с этой проблемой:

вы должны добавить путь к модулю forever, а затем запустить скрипт как cronjob.

в linux путь обычно:

/ usr / local/lib/node_modules/forever/bin / навсегда начать файл.js

просто используйте эту команду в скрипт и ошибка навсегда:команда не найдена не будет беспокоить вас.

Я знаю, что должны быть какие-то другие причудливые способы сделать это, но Я доволен этим Хак


если вы уже пробовали:

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 не расположение символического ссылка на сайт.


sudo npm install forever --global

это сработало для меня на сервере ubuntu 16.04 и nodejs v7.5.0


кажется, навсегда не найден в глобальном масштабе, используйте команду ниже, чтобы решить

npm i forever -g 

ниже кода сценария bash проверьте, работает ли ваш скрипт. Если не работает Stop и Start и уведомление mail.

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..." "<yourmail@gmail.com>" &
fi