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

App*_*rXY 2 macos node.js 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 ]
Run Code Online (Sandbox Code Playgroud)

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

Tom*_*lam 10

你可以尝试两件事:

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


小智 7

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

我的问题是我在后台启动了webpack开发服务器,并且在要求Node再次启动之前忘记了它.

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

ps -u [your user name]

然后使用PID将SIGINT信号(2)发送到进程

kill -2 [PID]

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