ELIFECYCLE Node.js错误是什么意思?


211

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是什么意思?(或)为什么我的应用程序代码中出现错误?


刚刚从我的webpack流程中收到了相同的错误(几个小时后没有重新启动,并且我进行了更改,使webpack的构建中断了)。否则,我之前从未见过该错误,并且重新启动该过程解决了该问题。
Ally

1
ps -ax | grep npm ..并杀死对我
有用

Answers:


62

基本上是说它未能产生您的进程,不是由于允许,而是由于脚本中的错误。资源

您执行时没有任何问题NODE_ENV=production node app.js吗?


我执行脚本没有任何问题。实际上,它工作正常。我只在运行“ blast-emails”时收到此错误,它执行async.eachSeries循环,并使用nodemailer和mandrill传输发送电子邮件,您可以在源代码中看到。可能是nodemailer或传输问题?
2015年

在emailer.js中,有对“错误”功能的引用,但我找不到它。
Pierre Inglebert 2015年

emailer.js中的哪个功能?
2015年



43

有人可能认为这是因为npm和node的版本已过时,但事实并非如此。

就像Pierre Inglebert所说的那样,如果您查看源代码,则可以看到End of lifecycle程序意外停止。这可能有多种原因。因此,这不是语法错误,也不是预期的异常/错误。

当其他工具已经在使用我的节点脚本中定义的http端口(3000)时,出现了错误消息。在端口80上运行节点应用程序时,请确保已停止Apache Web服务器(例如)。


2
对我来说一样,该端口已被另一个程序使用
跟踪


1
就我而言,我没有注意到Error: listen EADDRINUSE :::3000警告
estellezg

1
如果您使用的是旧版本的node / npm,该错误确实很模棱两可,我以为我必须升级,而仅仅是下载失败
Alex

13

在处理WordPress主题时,出现相同的ELIFECYCLE错误,但输出略有不同:

npm ERR!达尔文14.5.0
npm ERR!argv“ /usr/local/Cellar/node/7.6.0/bin/node”“ / usr / local / bin / npm”“安装”
npm ERR!节点v7.6.0
npm ERR!npm v3.7.3
npm ERR!代码ELIFECYCLE
npm ERR!foundationsix@1.0.0安装后:`bower install && gulp build`
npm ERR!退出状态1
npm ERR! 
npm ERR!在foundationsix@1.0.0安装后脚本“ bower install && gulp build”失败。
npm ERR!确保已安装最新版本的node.js和npm。
npm ERR!如果这样做,这很可能是Foundationsix软件包的问题,
npm ERR!不与npm本身。
npm ERR!告诉作者这在您的系统上失败:
npm ERR!Bower安装&& gulp构建

在尝试npm install了相同的结果再一次之后,我尝试了bower install。当那成功时,我尝试了gulp build并且也成功了。

现在一切都很好。不知道为什么&&失败时分别运行每个命令会起作用,但是也许其他人会发现此答案很有用。


@Matthew Read-您如何重新格式化该代码块?这是一个明显的改进,但我不确定自己如何做...我想我曾经用过3个反勾号,在输入时打了'enter'换行,然后是我的代码(紧接着是'enter'和3个反勾号关闭代码块),但对我而言似乎不再起作用。指针?
adam-asdf

如果单击我名字上方的“在X个小时前/天之前编辑”,然后单击“源”,它将显示给您!只是一个预格式化的文本标签。另一个选择是将每行缩进4个空格。Stack Overflow不支持GitHub / Slack / etc等三重反引号语法。-您的格式最终被解释为三个连续的单反引号块,第一和最后一个完全为空(这就是为什么第一行缩进很小,而最后一行在末尾有一点高亮的空格) 。

就我而言,我忘记了运行npm install(我是node.js的新手)。您的回答使我朝着正确的方向前进。谢谢。

13

就我而言,这是由于RAM内存不足,照片压缩库无法处理较大的照片。


1
我遇到了同样的问题,这是因为内存不足。
Envil

2
相同!似乎ELIFECYCLE errno 137也可能是由内存不足引起的。就我而言,我的服务器具有1Gb RAM。升级到2Gb,我的构建通过了。
Firze

1
npm run watch在Docker下运行,并从问题中得到了错误。当我增加docker的内存和CPU限制时,问题就消失了。
Paul Basenko

5

如果您像我一样来到这里,在尝试《React入门指南》时收到类似的错误之后,您可能想知道问题可能是由于未安装Watchman引起的。在此处下载它,或使用Homebrew安装它,brew install watchman然后重试:https : //facebook.github.io/watchman/docs/install.html

PS:您可能需要先做brew update


谢谢...试图学习如何建立别人的反应。本地github签入是残酷的。这么多不正确记录的设置步骤!
德隆兹

1
@Dronz是的,显然..不知道为什么。
Magne

1
@Dronz不确定。我在Mac上需要它。
Magne

1
谢谢。Windows似乎不需要它。
德隆兹

1
我在WordPress中配置了一个预构建的模板,以与开发团队接洽,遇到了相同的错误,并且更改该行可以cwd: parseInt(process.versions.node) < 8 ? process.cwd : process.cwd()抑制该错误,但是又生成了一个... brew update为我工作。
shimanyi '18


4
在process._tickCallback(internal / process / next_tick.js:10
4:9)
npm ERR!代码ELIFECYCLE
npm ERR!errno 1
npm ERR!ng-contact-manager@0.0.0示例:`node src / server / dat
a / seed-db.js`
npm ERR!退出状态1
npm ERR!
npm ERR!ng-contact-manager@0.0.0示例脚本失败。
npm ERR!npm可能不是问题。有力
上面还有其他日志记录输出。

npm ERR!可以在以下位置找到此运行的完整日志:

我有一个同样的问题,就是我终于解决了!错误: 更正数据库连接用户名和密码后,运行时终端出现错误,我npm run sample 在数据库 中使用mlab,并且在.env文件下,我忘记正确输入用户名和密码。当我纠正我的工作。

> ng-contact-manager@0.0.0样本/Users/mohammedr.kemal/Downl
oads / Ex_Files_ANGULAR_API_AUTH /练习文件/ Ch01 / 01_04 /开始
>节点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 start(或任何其他方式)。我已经在项目中添加了一个新模块。在某些机器上工作,但在其他机器上受限制的却不是很多。花费了一段时间才能弄清楚,但是新模块需要访问“某些内容”,而该内容在没有管理员权限的情况下是不可用的。


0

当我在节点docker容器内运行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;
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.