由于node-api @ ELIFECYCLE,npm启动失败

时间:2015-05-14 14:19:50

标签: node.js macos npm

我在启动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 ]

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

8 个答案:

答案 0 :(得分:8)

你可以尝试两件事:

  1. 确保您运行与其中看到完美运行的其他系统相同的Node版本。您可以通过在终端及其正在使用的终端上输入以下内容来测试:node -v。如果它们不同,请查看升级(或确实降级)您的安装。
  2. 从当前计算机上的项目根目录中删除node_modules目录,然后运行npm install以确保编译的二进制文件与您的操作系统兼容。

答案 1 :(得分:7)

我到这个页面寻找类似错误日志的解决方案。

我的问题是我在后台启动了webpack开发服务器,并且在要求Node重新启动它之前忘了杀死它。

尝试找到过程PID(输出的第二列)

ps -u [your user name]

然后将SIGINT信号(2)发送到具有PID

的过程

kill -2 [PID]

希望这有助于其他人访问此页面。

答案 2 :(得分:2)

我遇到了同样的问题。对于我的情况,我在添加以下行后发生了 在我的 package.json 文件中。

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

删除它解决的启动脚本后。

现在我通过节点index.js

运行我的服务器

答案 3 :(得分:1)

清除系统缓存并在终端中运行命令

npm cache clean --force

然后

npm start

答案 4 :(得分:0)

当我的代码中出现编译错误时,我遇到了同样的错误。我用npm start

答案 5 :(得分: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

这是一个漫长的过程,而且答案还很不确定。但是卡住了很长时间之后,这才让我摆脱了困境。

祝你好运。

答案 6 :(得分:0)

我重新安装了webpack,它可以正常工作

  

“ npm i --save-dev webpack@1.14.0”

答案 7 :(得分:0)

我有类似的内容,但我的错误是我没有访问文件夹的权限,所以我使用的是Manjaro,并且使用

运行我的应用程序

sudo npm start