#node.js #foreman #forever
#node.js #бригадир #навсегда
Вопрос:
Я использую небольшой сокет.приложение ввода-вывода и экспресс на сервере Ubuntu, и я пытаюсь использовать модуль forever.
Однако кажется, что не имеет значения, какой пакет я устанавливаю, кажется, ничего не происходит. Я запустил
sudo npm install forever -g
При установке я получаю это сообщение:
механизм ПРЕДУПРЕЖДЕНИЯ npm hawk@0.10.2 : требуется: {«узел»: «0.8.x»} (текущий: {«узел»: «v0.10.25», «npm»:»1.3.10″}
Однако ввод функции навсегда начинается app.js просто возвращается к следующей строке.
$:/home/app$ forever start app.js
$:/home/app$
Ввод, который навсегда возвращает
/usr/local/bin/forever
Кажется, у меня возникают похожие проблемы с nodemon и foreman, я понятия не имею, почему. Есть идеи, чего мне не хватает?
Комментарии:
1. что, если вы используете
npm install forever -g
2. Извините, я создал тип, который использовал
sudo npm install forever -g
Ответ №1:
Не хочу показаться ненавистником, но я перестал использовать forever, потому что они перестали его разрабатывать. У него есть несколько проблем, в частности, если вы запускаете приложение с ним в процессе запуска, вы не можете видеть, как процесс завершается или перезапускается.
Попробуйте nodemon, он работает лучше всего для меня и имеет большинство тех же опций. Я знаю, что это не тот ответ, который вы искали, но я надеюсь, что вы избежите тех же проблем, с которыми я столкнулся. Удачи
Ответ №2:
Предупреждение, которое вы получаете, происходит из-за жестких зависимостей от узла 0.8, но обычно их просто игнорируют. Просто чтобы попробовать, я установил forever на новую Ubuntu 14.04 и получил много предупреждений
npm WARN engine hawk@0.10.2: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.29","npm":"1.4.14"})
npm WARN engine hawk@0.10.2: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.29","npm":"1.4.14"})
npm WARN engine hawk@0.10.2: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.29","npm":"1.4.14"})
npm WARN engine sntp@0.1.4: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.29","npm":"1.4.14"})
npm WARN engine cryptiles@0.1.3: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.29","npm":"1.4.14"})
npm WARN engine boom@0.3.8: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.29","npm":"1.4.14"})
npm WARN engine hoek@0.7.6: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.29","npm":"1.4.14"})
npm WARN engine sntp@0.1.4: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.29","npm":"1.4.14"})
npm WARN engine cryptiles@0.1.3: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.29","npm":"1.4.14"})
npm WARN engine boom@0.3.8: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.29","npm":"1.4.14"})
npm WARN engine hoek@0.7.6: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.29","npm":"1.4.14"})
npm WARN engine sntp@0.1.4: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.29","npm":"1.4.14"})
npm WARN engine cryptiles@0.1.3: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.29","npm":"1.4.14"})
npm WARN engine boom@0.3.8: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.29","npm":"1.4.14"})
npm WARN engine hoek@0.7.6: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.29","npm":"1.4.14"})
но после этого, если я вызову экран справки forever
forever -h
он отображается нормально.
Вы выполняете навсегда по тому же пути, что и ваш app.js есть? Что произойдет, если вы вызовете forever list
после запуска forever start? От имени какого пользователя вы работаете вечно? Вы уверены, что запущенный узел app.js работает нормально?
Комментарии:
1. Привет, мой каталог /home/app/app.js
nodejs app.js
бег проходит идеально. (Однако я не могу этого сделатьnode app.js
). Я пытаюсь запустить свой forever в том же каталоге, что и мое приложение в настоящее время, иforever -h
, похоже, ничего не делает. Я использую своего пользователя (не root) для запуска приложения.2. А как насчет forever -h ?
3. forever -h ничего не возвращает
joshy@*:/home/app$ forever -h joshy@*:/home/app$
4. Странно. Можете ли вы попробовать вызвать его с помощью абсолютного пути?
5. Ввод
joshy@*:/home/app$ /usr/local/bin/forever -h
текста, похоже, делает то же самое.