【问题标题】:npm start fails because of node-api@ ELIFECYCLE由于 node-api@ELIFECYCLE,npm start 失败
【发布时间】:2015-07-26 05:05:43
【问题描述】:

我在启动 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 的样子吗?

标签: node.js macos npm


【解决方案1】:

您可以在这里尝试两件事:

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

【讨论】:

  • 啊。我之前用 node.js v.0.11 尝试过,但不得不更进一步。非常感谢。
【解决方案2】:

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

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

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

ps -u [your user name]

然后将SIGINT信号(2)发送给带有PID的进程

kill -2 [PID]

希望这对访问此页面的其他人有所帮助。

【讨论】:

    【解决方案3】:

    我遇到了同样的问题。就我而言,我是在添加以下行之后发生的 在我的 package.json 文件中。

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

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

    现在我通过 node index.js

    运行我的服务器

    【讨论】:

      【解决方案4】:

      我重新安装了 webpack 并且成功了

       

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

      【讨论】:

        【解决方案5】:

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

        npm cache clean --force
        

        然后

        npm start
        

        【讨论】:

        • 请在您的答案中添加一些解释,以便其他人可以从中学习。特别是,您所说的“npm Sart”是什么意思?
        【解决方案6】:

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

        【讨论】:

          【解决方案7】:

          我不会声称完全理解解决方案。我认为这与记录导航 node_modules 的错误地址有关,或者可能是我的守望者版本已过时或损坏。

          我通过重新安装 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
          

          这是一个很长的链条,而且是一个非常不确定的答案;但是在被卡住了很长时间之后,这就是让我过去的原因。

          祝你好运。

          【讨论】:

            【解决方案8】:

            我有类似的东西,我的错误是我没有访问文件夹的权限,所以我使用 Manjaro 并运行我的应用程序

            sudo npm start

            还有那个

            【讨论】:

              猜你喜欢
              • 2023-03-05
              • 2022-11-01
              • 2017-05-05
              • 1970-01-01
              • 1970-01-01
              • 2021-12-22
              • 2019-05-26
              • 1970-01-01
              • 2018-11-30
              相关资源
              最近更新 更多