Что означает ошибка ELIFECYCLE Node.js?


212

Что значит ELIFECYCLE?

Вот мой код приложения: https://gist.github.com/samholmes/388ca4552c5936b52c5d

Когда я запускаю команду «blast-emails», она будет работать некоторое время, пока вскоре не произойдет сбой с ошибкой:

npm ERR! Linux 3.2.0-4-amd64
npm ERR! argv "/root/.nvm/versions/io.js/v1.6.1/bin/iojs" "/root/.nvm/versions/io.js/v1.6.1/bin/npm" "run" "live"
npm ERR! node v1.6.1
npm ERR! npm  v2.7.1
npm ERR! code ELIFECYCLE
npm ERR! emailer@0.0.0 live: `NODE_ENV=production node app.js`
npm ERR! Exit status 137
npm ERR! 
npm ERR! Failed at the emailer@0.0.0 live script 'NODE_ENV=production node app.js'.
npm ERR! This is most likely a problem with the emailer package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     NODE_ENV=production node app.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls emailer
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /apps/emailer/npm-debug.log

npm-debug.logФайл также включен в сути.

Я ищу один из двух ответов: что означает ELIFECYCLE? (или) Почему я получаю ошибку в коде моего приложения?


Просто получил ту же ошибку от моего процесса веб-пакета (не перезагружался в течение нескольких часов, и я внес изменение, которое нарушило сборку веб-пакета). В противном случае я никогда не видел ошибку раньше, и перезапуск процесса решил проблему.
Союзник

1
ps -ax | grep npm .. и kill npm процессы работали для меня
Buminda

Ответы:


62

В основном это говорит о том, что он не может порождать ваш процесс не из-за разрешения, а из-за ошибки в вашем скрипте. Источник

У вас нет проблем с выполнением NODE_ENV=production node app.js?


У меня нет проблем с выполнением сценария. На самом деле все работает отлично. Я получаю эту ошибку только при запуске 'blast-emails', который выполняет цикл async.eachSeries и отправляет электронные письма, используя nodemailer, а транспортный ресурс mandrill вы можете увидеть в исходном коде. Может ли это быть проблема с nodemailer или с транспортом?
Сэм

в emailer.js есть ссылки на функцию error, но я не могу ее найти.
Пьер Инглеберт

какая функция в emailer.js?
Сэм


Функция ошибки определена ниже в этой области: gist.github.com/samholmes/388ca4552c5936b52c5d#file-app-js-L81
Сэм,

43

Кто-то может подумать, что это связано с устаревшими версиями npm и node, но это не так.

Как говорит Пьер Инглебер, если вы посмотрите на источник, то увидите, что End of lifecycleпрограмма неожиданно остановилась. Это может иметь разные причины. Так что это не синтаксическая ошибка и не ожидаемое исключение / ошибка.

Ошибка появилась мне, когда другой инструмент уже использовал http-порт (3000), определенный в моих скриптах узла. Когда вы запускаете приложение узла на порту 80, убедитесь, что вы остановили веб-сервер Apache (в качестве примера).


2
То же самое для меня, порт был использован другой программой
stalk

Затем вы можете перейти на stackoverflow.com/questions/39632667/…
estellezg

1
В моем случае я не заметил Error: listen EADDRINUSE :::3000предупреждение
estellezg

1
Ошибка действительно неоднозначна, если вы используете старую версию node / npm, я подумал, что мне нужно обновить, вместо этого это была просто
Alex

13

Работая над темой WordPress, я получил то же самое ELIFECYCLE ошибку с немного отличным выводом:

нпм ERR! Дарвин 14.5.0
нпм ERR! argv "/usr/local/Cellar/node/7.6.0/bin/node" "/ usr / local / bin / npm" "установить"
нпм ERR! узел v7.6.0
нпм ERR! npm v3.7.3
нпм ERR! код ELIFECYCLE
нпм ERR! foundationsix@1.0.0 postinstall: `bower install && gulp build`
нпм ERR! Статус выхода 1
нпм ERR! 
нпм ERR! Не удалось выполнить сценарий foundinsix@1.0.0 postinstall 'bower install && gulp build'.
нпм ERR! Убедитесь, что у вас установлена ​​последняя версия node.js и npm.
нпм ERR! Если вы это сделаете, это, скорее всего, проблема с пакетом foundationsix,
нпм ERR! не с самой нпм.
нпм ERR! Скажите автору, что это не работает в вашей системе:
нпм ERR! установка bower && gulp build

Попробовав npm installеще раз с тем же результатом, я попробовал bower install. Когда это было успешно, я попробовал, gulp buildи это тоже сработало.

Теперь все работает отлично. Не знаю, почему выполнение каждой команды работало отдельно при &&неудаче, но, возможно, кто-то найдет этот ответ полезным.


@ Matthew Read - Как вы переформатировали этот блок кода? Это определенное улучшение, но я не уверен, как это сделать сам ... Я думаю, что раньше использовал 3 тика назад, нажимал «ввод» для новой строки, затем мой код (затем «ввод» и 3 тика назад закрыть блок кода), но это, похоже, больше не работает для меня. Указатели?
Адам-asdf

Если вы нажмете «изменить X часов / дней назад» выше моего имени там, а затем нажмите «источник», он покажет вам! Просто отформатированный текстовый тег. Другим вариантом было бы сделать отступ для каждой строки на 4 пробела. Переполнение стека не поддерживает синтаксис тройного обратного удара, такой как GitHub / Slack / и т. Д. - Ваше форматирование закончилось тем, что оно интерпретировалось как три последовательных блока с одинарной обратной косой чертой, причем первый и последний были полностью пустыми (именно поэтому первая строка была с очень малым отступом, а последняя строка имела крошечный подсвеченный пробел в конце) ,
Мэтью Рид

В моем случае я забыл запустить npm install(я новичок в node.js). Ваш ответ привел меня в правильном направлении. Спасибо.
Кон

13

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


1
У меня такая же проблема, это из-за нехватки памяти.
Envil

2
Тем же! Похоже, что ELIFECYCLE errno 137 также может быть вызвано нехваткой памяти. В моем случае мой сервер имел 1 Гб оперативной памяти. Обновил его до 2Gb и моя сборка прошла.
Фирз

1
Я побежал npm run watchпод Docker и получил ошибку от вопроса. Когда я увеличил пределы памяти и процессора докера, проблема исчезла.
Павел

5

Если вы пришли сюда, как я, после получения аналогичной ошибки при попытке ознакомиться с руководством по началу работы с React , вам может быть интересно узнать, что проблема могла быть вызвана отсутствием установленного Watchman. Загрузите его здесь или установите с помощью Homebrew brew install watchmanи попробуйте снова: https://facebook.github.io/watchman/docs/install.html

PS: вы можете сделать brew updateпервый.


Спасибо ... пытаюсь узнать, как создать чью-то другую реакцию. Родная регистрация на github была жестокой. Так много неточно задокументированных шагов установки!
Дронз

1
@Dronz Да, очевидно .. Не знаю почему.
Магне

1
@Dronz Не уверен. Мне нужно было это на моем Mac.
Магне

1
Спасибо. Похоже, не нужно в Windows.
Дронц

1
Я настраивал предварительно созданный шаблон в WordPress, чтобы взять его с командой разработчиков, получил ту же ошибку, и изменение строки cwd: parseInt(process.versions.node) < 8 ? process.cwd : process.cwd()подавило ошибку, но сгенерировало другой ... brew updateработало для меня.
shimanyi

4

При запуске сборки Webpack я получал похожую ошибку, потому что узел не понимает async awaitключевые слова в более старых версиях. Я добавил веб - пакет babel-plugin-transform-async-to-generator, и это было решено. Это заменяет их обещаниями.


4
at process._tickCallback (internal / process / next_tick.js: 10
4: 9)
нпм ERR! код ELIFECYCLE
нпм ERR! errno 1
нпм ERR! ng-contact-manager@0.0.0 пример: `узел src / server / dat
а / семян db.js`
нпм ERR! Статус выхода 1
нпм ERR!
нпм ERR! Ошибка в примере сценария ng-contact-manager@0.0.0.
нпм ERR! Это, вероятно, не проблема с npm. Есть лик
дополнительные выходные данные выше.

нпм ERR! Полный журнал этого прогона можно найти в:

У меня та же проблема, вот как я наконец-то решил! ошибка: моя ошибка в терминале при запуске npm run sample после исправления имени пользователя и пароля для соединения с базой данных. Я использовал mlab для своей базы данных и в файле .env. Я забыл правильно указать имя пользователя и пароль. Когда я исправляю это, я работаю.

> ng-contact-manager@0.0.0 sample /Users/mohammedr.kemal/Downl
oads / Ex_Files_ANGULAR_API_AUTH / Файлы упражнений / Ch01 / 01_04 / start
> узел src / server / data / seed-db.js

подключен к mongodb ...
подключен к mongodb ...
2 записи вставлены.
закрытие соединения ...
сделано.
12 записей вставлено.
закрытие соединения ...
сделано.

Так что было бы неплохо посмотреть любое подключение к данным, которое мы сделали в нашем коде, если оно у нас есть.


3

У меня была та же ошибка после того, как я установил новые пакеты или обновил их:

...
npm ERR! code ELIFECYCLE
npm ERR! errno 1
...

Это помогло мне выполнить команду установки еще раз или пару раз. После этого ошибка исчезла.


2

У меня была эта проблема, когда я запускал два проекта с одинаковыми настройками, и у меня уже был один запущенный. Это означало, что другой проект не мог использовать этот номер порта. Как только я остановил другой проект, у меня не было проблем.


1

В моем случае это была проблема с разрешением в Linux, вместо того, чтобы писать:

npm run start

Я попытался:

sudo npm run start

Затем введите свой пароль пользователя sudo, и все готово!


1

Решение для Windows совпадает с ответом Linux sudo. Запустите запуск npm (или любой другой) от имени администратора. Я добавил новый модуль в свой проект. Работал на некоторых машинах, но на других, которые были более заблокированы, не так много. Потребовалось время, чтобы понять это, но новому модулю требовался доступ к «чему-то», что было недоступно без прав администратора.


0

У меня был тот же код ошибки, когда я запускал npm run build внутри контейнера докера узла.

Локально это работало в то время как внутри контейнера я установил опцию, чтобы выдавать ошибку, когда во время компиляции есть предупреждение, в то время как локально это не было установлено. Таким образом, эта ошибка может означать все, что связано с остановкой процесса, выполняемого NPM.


0

В моем случае я генерировал аналогичную ошибку, когда копировал проект из другого каталога. некоторые скрытые файлы, такие как критический .babelrc, отсутствовали. ТАК аааа ... убедитесь, что вы скопировали все файлы! :)


0

Эта проблема также может возникать, когда вы извлекаете код из git и еще не установленных узловых модулей «npm install».


0

Для меня это было троичное утверждение:

В частности, он жаловался на эту строку, на точку с запятой:

let num_coin = val.num_coin ? val.num_coin || 2;

Я изменил это на:

let num_coin = val.num_coin || 2;
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.