npm start 因 node-api@ ELIFECYCLE 失败

5

我有一个启动node.js服务器的问题。在另一个系统上测试过服务器应用程序并且完美运行。错误日志显示node-api@出现了问题,但我无法找到任何解决方案。

0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'start' ]
2 info using npm@2.9.1
3 info using node@v0.12.3
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info prestart node-api@
6 info start node-api@
7 verbose unsafe-perm in lifecycle true
8 info node-api@ Failed to exec start script
9 verbose stack Error: node-api@ start: `node server.js`
9 verbose stack Exit status 1
9 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:213:16)
9 verbose stack     at EventEmitter.emit (events.js:110:17)
9 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:24:14)
9 verbose stack     at ChildProcess.emit (events.js:110:17)
9 verbose stack     at maybeClose (child_process.js:1015:16)
9 verbose stack     at Process.ChildProcess._handle.onexit (child_process.js:1087:5)
10 verbose pkgid node-api@
11 verbose cwd /Volumes/HDD/Users/…/app/db
12 error Darwin 14.3.0
13 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
14 error node v0.12.3
15 error npm  v2.9.1
16 error code ELIFECYCLE
17 error node-api@ start: `node server.js`
17 error Exit status 1
18 error Failed at the node-api@ start script 'node server.js'.
18 error This is most likely a problem with the node-api package,
18 error not with npm itself.
18 error Tell the author that this fails on your system:
18 error     node server.js
18 error You can get their info via:
18 error     npm owner ls node-api
18 error There is likely additional logging output above.
19 verbose exit [ 1, true ]

我的安装有什么问题,我该如何解决?

你能展示一下你的 package.jsonserver.js 文件是什么样子吗? - Andrew Lavers
8个回答

10

这里有两个尝试的方法:

  1. 确保你正在运行与其他系统相同版本的Node。您可以在终端输入以下内容进行测试: node -v,并且与它正常运行的终端的版本相同。如果它们不同,请尝试升级或降级您的安装。
  2. 从当前计算机的项目根目录中删除node_modules目录,然后运行npm install以确保编译的二进制文件与您的操作系统兼容。

啊,我之前尝试过使用Node.js v0.11,但不得不退回更早的版本。非常感谢。 - AppleCoderXY

8

我来到这个页面是因为寻找解决类似错误日志的方法。

我的问题是我在后台启动了webpack dev server但在Node重新启动之前忘记关闭它。

尝试查找进程PID(输出的第二列)

ps -u [你的用户名]

然后向具有PID的进程发送SIGINT信号(2)

kill -2 [PID]

希望这能帮助其他寻求解决方法的人。


2

我遇到了同样的问题。在我的 package.json 文件中添加以下行后,出现了这个问题。

"scripts": {
    "start": "node index.js"
}

删除启动脚本后问题得到解决。

现在我通过node index.js运行我的服务器。


1
清除系统缓存并在终端中运行命令。
npm cache clean --force

那么

npm start

1
请在您的答案中添加一些解释,以便其他人可以从中学习。特别是,“npm Sart”是什么意思? - Nico Haase

1

我重新安装了Webpack,然后它就正常工作了。

 

"npm i --save-dev webpack@1.14.0"


0

当我的代码存在编译错误时,我遇到了相同的错误。我使用了npm start


0

我曾经遇到过类似的情况,我的错误在于没有对文件夹进行访问权限设置。因此,当时我使用Manjaro系统运行我的应用程序时,我使用了以下命令:

sudo npm start

然后出现了问题。


0

我不敢说我完全理解了解决方案。我认为这可能与导航node_modules时记录的地址不正确有关,或者可能是我的watchman版本过时或损坏了。

我通过重新安装watchman并删除/重新创建node_modulespackage-lock.json文件来解决了这个问题。

npm cache clean --force

rm -rf node_modules

rm -rf package-lock.json

brew uninstall watchman

npm r -g watchman

npm install watchman

npm install

npm start

这是一个漫长的过程,答案也相当不确定;但在卡住很久后,这就是让我成功跨越难关的方法。

祝你好运。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接