【问题标题】:How to solve npm error "npm ERR! code ELIFECYCLE"如何解决 npm 错误“npm ERR!代码 ELIFECYCLE”
【发布时间】:2021-01-18 03:57:20
【问题描述】:

我正在尝试学习反应,所以我有这个全栈反应投票应用程序的示例代码,我正在尝试让它工作,但是在运行 npm install 和 npm start 之后,我收到以下错误我运行npm start 谁能帮我解决这个问题:

npm ERR! Darwin 16.4.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "server"
npm ERR! node v7.5.0
npm ERR! npm  v4.3.0
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! voting_app@1.1.0 server: `live-server --public --    
host=localhost --port=3000 --middleware=./disable-browser-cache.js`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the voting_app@1.1.0 server script 'live-server --
public --host=localhost --port=3000 --middleware=./disable-browser- 
cache.js'.
npm ERR! Make sure you have the latest version of node.js and npm  
installed.
npm ERR! If you do, this is most likely a problem with the voting_app  
package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     live-server --public --host=localhost --port=3000 --  
middleware=./disable-browser-cache.js
npm ERR! You can get information on how to open an issue for this  
project with:
npm ERR!     npm bugs voting_app
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls voting_app
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/ItsMeMrLi/.npm/_logs/2017-02-17T22_48_03_581Z-
debug.log

npm ERR! Darwin 16.4.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
npm ERR! node v7.5.0
npm ERR! npm  v4.3.0
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! voting_app@1.1.0 start: `npm run server`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the voting_app@1.1.0 start script 'npm run server'.
npm ERR! Make sure you have the latest version of node.js and npm 
installed.
npm ERR! If you do, this is most likely a problem with the voting_app    
package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm run server

npm ERR! You can get information on how to open an issue for this   
project with:
npm ERR!     npm bugs voting_app
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls voting_app
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/ItsMeMrLi/.npm/_logs/2017-02-17T22_48_03_655Z-
debug.log

这是我的 package.json:

{
  "name": "voting_app",
  "version": "1.1.0",
  "author": "Fullstack.io",
  "scripts": {
    "go": "open http://localhost:3000; npm run server",
    "e2e": "nightwatch",
    "test": "./node_modules/.bin/concurrently -k 'npm run server' 'npm  
run e2e'",
    "start": "npm run server",
    "server": "live-server public --host=localhost --port=3000 --  
middleware=./disable-browser-cache.js"
  },
  "private": true,
  "devDependencies": {
  "concurrently": "2.2.0",
  "live-server": "git://github.com/acco/live-server.git"
},
  "dependencies": {
  "semantic-ui": "git://github.com/Semantic-Org/Semantic-
  UI.git#27d58a01793b66318478fbc5b6676804d22d065d"
  }
}

最后是我的日志文件:

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@4.3.0
3 info using node@v7.5.0
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle voting_app@1.1.0~prestart: voting_app@1.1.0
6 silly lifecycle voting_app@1.1.0~prestart: no script for prestart, continuing
7 info lifecycle voting_app@1.1.0~start: voting_app@1.1.0
8 verbose lifecycle voting_app@1.1.0~start: unsafe-perm in lifecycle true
9 verbose lifecycle voting_app@1.1.0~start: PATH: /usr/local/lib/node_modules/npm/bin/node-gyp-bin:/Users/ItsMeMrLi/Downloads/fullstack-react-code/voting_app/node_modules/.bin:/Library/Frameworks/Python.framework/Versions/3.6/bin:/Users/ItsMeMrLi/.rvm/gems/ruby-2.3.1/bin:/Users/ItsMeMrLi/.rvm/gems/ruby-2.3.1@global/bin:/Users/ItsMeMrLi/.rvm/rubies/ruby-2.3.1/bin:/Users/ItsMeMrLi/.cargo/bin:/usr/local/Cellar/smlnj/110.74/libexec/bin:/usr/local/bin:/Users/ItsMeMrLi/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/Postgres.app/Contents/Versions/latest/bin:/Downloads/geckodriver:/usr/local/bin:/Users/ItsMeMrLi/.rvm/bin
10 verbose lifecycle voting_app@1.1.0~start: CWD: /Users/ItsMeMrLi/Downloads/fullstack-react-code/voting_app
11 silly lifecycle voting_app@1.1.0~start: Args: [ '-c', 'npm run server' ]
12 silly lifecycle voting_app@1.1.0~start: Returned: code: 1  signal: null
13 info lifecycle voting_app@1.1.0~start: Failed to exec start script
14 verbose stack Error: voting_app@1.1.0 start: `npm run server`
14 verbose stack Exit status 1
14 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:279:16)
14 verbose stack     at emitTwo (events.js:106:13)
14 verbose stack     at EventEmitter.emit (events.js:192:7)
14 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:40:14)
14 verbose stack     at emitTwo (events.js:106:13)
14 verbose stack     at ChildProcess.emit (events.js:192:7)
14 verbose stack     at maybeClose (internal/child_process.js:890:16)
14 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
15 verbose pkgid voting_app@1.1.0
16 verbose cwd /Users/ItsMeMrLi/Downloads/fullstack-react-code/voting_app
17 error Darwin 16.4.0
18 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
19 error node v7.5.0
20 error npm  v4.3.0
21 error code ELIFECYCLE
22 error errno 1
23 error voting_app@1.1.0 start: `npm run server`
23 error Exit status 1
24 error Failed at the voting_app@1.1.0 start script 'npm run server'.
24 error Make sure you have the latest version of node.js and npm installed.
24 error If you do, this is most likely a problem with the voting_app package,
24 error not with npm itself.
24 error Tell the author that this fails on your system:
24 error     npm run server
24 error You can get information on how to open an issue for this project with:
24 error     npm bugs voting_app
24 error Or if that isn't available, you can get their info via:
24 error     npm owner ls voting_app
24 error There is likely additional logging output above.
25 verbose exit [ 1, true ]

【问题讨论】:

标签: node.js npm npm-install npm-start npm-live-server


【解决方案1】:

第一步:$ npm cache clean --force

第 2 步:通过$ rm -rf node_modules(Windows 中为rmdir /S /Q node_modules)文件夹删除 node_modules 或通过进入目录并右键单击 > 删除 / 手动删除它移到废纸篓。如果不更新您的软件包,您也可以删除 package-lock.json 文件。

第三步:npm install

重新开始, $ npm start

这对我有用。希望它也对你有用。

PS:如果仍然存在,请检查它以红色显示的错误并采取相应措施。此错误特定于 node.js 环境。

【讨论】:

  • 在使用 rm -rf 时要小心
  • 对于 Windows 中的第 2 步,您可以在 cmd 中执行 rd /s /q "node_modules" 或在 PowerShell 中执行 rm -r "node_modules" Source
  • 在我的情况下,删除 node_modules 有所帮助,但这个文件夹是项目的一个级别。 npm cache clean --force 反而导致了奇怪的行为并且具有误导性。在我删除这个目录之前,我还删除了这个项目的本地存储库并再次克隆它,但不确定它是否有帮助,因为我描述的操作最终解决了这种情况。
  • 如果这不起作用,您可以随时命令另一个 npx create-react-app 备用,并将 node_modules 复制到适当的项目中。(用户友好方式)
  • 对于第2步,我认为你可以使用npm ci
【解决方案2】:

清理CacheNode_module 是不够的。 请按照以下步骤操作:

  • npm cache clean --force
  • 删除node_modules文件夹
  • 删除package-lock.json文件
  • npm install

这样对我有用。

【讨论】:

  • 为我修复了使用 npm cache verify 而不是删除整个缓存的问题。
  • 我认为最重要的是删除package-lock.json文件,在尝试之前,我尝试了很多方法都无法修复错误。
  • 您可以通过简单地删除自动生成的构建工件来解决任何问题的事实是 JS 世界的所有问题......如果不是因为这个 stackoverflow 条目,我会成为 S.O.L.在这里,因为我在构建日志中没有发现可操作的错误!
  • 大多数 imp 正在删除 package-lock.json
  • 如果上述解决方法后错误仍然存​​在,请增加监听器的数量。 github.com/guard/listen/wiki/…
【解决方案3】:

我第一次跑:

npm run clean

(即使它带有错误)

然后我删除了 node_modules 文件夹并运行

npm install

这似乎解决了问题。

【讨论】:

    【解决方案4】:

    我通过运行以下代码解决了这个错误

    npm cache clean
    

    然后手动或使用以下命令从我的项目结构中删除node_modules 目录

    rm -rf node_modules
    

    在那之后再次使用安装依赖项

    npm install
    

    【讨论】:

    • 如果您能为像我这样的初学者详细说明答案,那将非常有帮助。简洁是好的,但并不总是有帮助。谢谢。
    • npm run clean 不是命令。但是,你的想法仍然有效。我删除并重新安装了..然后booom...它开始工作了..谢谢
    • 只是最后一条指令“npm install”在我的类似案例中起作用。
    • 在将我的代码从桌面复制/粘贴到服务器后,出现了 Nuxt.js 的问题。不行,谢谢
    • npm cache clean 然后 npm cache verify 然后 rm -rf node_modules 然后 npm install
    【解决方案5】:

    在使用 create-react-app (link) 制作的应用程序上运行 npm run build 时,我在带有 DigitalOcean 的 16.04 Ubuntu 实例上收到了类似的错误消息。我将实例从 512MB RAM 升级到 1GB(5 美元/月到 10 美元/月),然后脚本就可以运行了。

    我在此处发布此消息是为了指出,由于资源限制,您可能会收到此错误,我在问题页面和 SO 答案的其他地方并没有真正看到解释。我在错误日志中看到的任何内容都没有为我指明这个方向。

    【讨论】:

    • 你完全正确!也没有什么能把我指向这个方向,而且由于资源限制,这是一个错误...... Ty
    • 是的,我在 EC2 t3a.nano 实例上编译 Laravel-mix 时遇到了类似的问题。好像是内存不足。在更大的实例上解决。
    • 在执行此操作之前,您可能需要先尝试重新启动服务器:digitalocean.com/community/questions/… 对我来说已经足够了 :)
    【解决方案6】:

    更改 node_modules 目录中的访问权限

    chmod -R a+rwx ./node_modules 
    

    【讨论】:

    • @pacanga 则权限设置正确,请参考其他解决方案。
    【解决方案7】:

    此解决方案适用于 Windows 用户。

    您可以打开 node.js 安装程序并给安装程序一些时间来计算空间要求,然后单击下一步并单击删除。这将从您的计算机中删除 node.js 并再次重新打开安装程序并将其安装在此路径中 - C:\Windows\System32

    清理CacheNode_module 将起作用。 请按照以下步骤操作:

    • npm cache clean --force
    • 删除node_modules文件夹
    • 删除package-lock.json文件
    • npm install

    【讨论】:

    • 最近我将 Windows 上的节点更新为 12.X.X,我看到同样的错误,清理缓存没有帮助。还有其他可能的解决方案吗?
    • @chris 您是否尝试在我的回答中提到的节点路径中重新安装。
    • @chris 第一次修复的目的不是更新,而是重新安装在路径C:\Windows\System32
    【解决方案8】:

    删除 node_modules 和 package-lock.json,然后运行 ​​npm install。它在这里完美运行(在项目根目录下运行命令):

    rm -rf node_modules && rm ./package-lock.json && npm install
    

    【讨论】:

      【解决方案9】:

      面对这个确切的问题,

      对我来说,它由 deleting package-lock.json 工作并重新运行 npm install

      如果不能解决,请尝试

      1. 删除package-lock.json
      2. npm 缓存清理 --force
      3. npm 安装
      4. npm 开始

      【讨论】:

        【解决方案10】:

        解决方法:删除锁定文件。

        rm .\package-lock.json
        

        来源:https://github.com/mapbox/node-pre-gyp/issues/298 (floriantraber)

        【讨论】:

          【解决方案11】:

          此解决方案修复了 Win10 中的错误。

          请全局安装npm install -g node-pre-gyp

          【讨论】:

            【解决方案12】:

            React Application:对我来说,问题是在运行 npm install 之后出现了一些错误。

            我接受了npm audit fix 的推荐。此操作破坏了我的package.jsonpackage-lock.json(更改了包的版本和.json 的结构)。

            修复是:

            • 删除节点模块
            • 运行npm install
            • npm start

            希望这对某人有所帮助。

            【讨论】:

              【解决方案13】:
              npm install --unsafe-perm
              

              为我工作。见https://docs.npmjs.com/--unsafe-perm 参数允许您从包安装中以 root 身份运行脚本。我的问题是某些依赖项无法安装。

              【讨论】:

              • 谢谢,“node-pre-gyp”有问题,“--unsafe-perm”解决了我的安装问题。
              【解决方案14】:

              我试图用这种方式解决这个问题

              rm -rf node_modules && rm ./package-lock.json && npm install
              

              但对我来说它不起作用。 我只是重新启动我的机器,它工作得很好。
              我是 Linux 用户,机器 HP。

              【讨论】:

              • 我使用的是运行 windows 和 wsl 的 Hp,这对我有用
              【解决方案15】:

              我使用的是 ubuntu 18.04 LTS 版本,我遇到了同样的问题,我尝试按照上述建议清理缓存,但它对我不起作用。不过,我找到了另一种解决方案。

              回声 65536 | sudo tee -a /proc/sys/fs/inotify/max_user_watches

              npm 开始

              我运行了这个命令,它开始工作了

              【讨论】:

                【解决方案16】:

                我在运行构建时收到此npm ERR! code ELIFECYCLE 错误。清除缓存并删除 package-lock.json 文件并没有解决它。

                在我的例子中,有一个在 Docker 映像上运行的 Angular 构建导致了这种情况。根本原因是在 MacOS 中的 Docker 上运行构建,它在 Linux VM 中运行 Docker,并且默认分配了 2GB 内存。

                给 Docker 更多内存为我解决了这个问题。不得不说,错误信息本来可以更清楚一点..

                对我有帮助的答案是Call retries were exceeded exception while ng build

                【讨论】:

                  【解决方案17】:

                  尝试全局重新安装 cli 包。就我而言,当我收到相同的错误消息时,我正在尝试测试 Vue.js 教程。我做的另一件事是再次运行 vue 命令,但这次使用 webpack-simple,这就是为什么我不确定哪个解决了问题,但现在它正在工作。

                  【讨论】:

                    【解决方案18】:

                    如果您遇到以下消息,请检查端口可用性:

                    Error: listen EACCES 127.0.0.1:8080
                    
                    at Object._errnoException (util.js:999:13)
                    at _exceptionWithHostPort (util.js:1020:20)
                    at Server.setupListenHandle [as _listen2] (net.js:1362:19)
                    at listenInCluster (net.js:1420:12)
                    at GetAddrInfoReqWrap.doListen [as callback] (net.js:1535:7)
                    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:102:10)
                    npm ERR! code ELIFECYCLE
                    npm ERR! errno 1
                    

                    【讨论】:

                    • 对我来说,端口不可用。我所要做的就是更改端口号,它就起作用了。
                    【解决方案19】:

                    通常killall node 命令会修复我的问题。

                    【讨论】:

                    【解决方案20】:

                    这个问题困扰我很久了。对我来说,node 的版本是问题所在。

                    我的 npmnode 分别是 6.1.0 和 8.11.3。但是,我没有意识到我不小心将我的node 更新为 12.*.*.

                    然后它开始在npm i 时安装 GCX 的东西,这在以前是不必要的。

                    我将我的node 降级为 8 并且成功了!

                    【讨论】:

                      【解决方案21】:

                      它很奇怪,但对我有用

                      前往

                      控制面板-->系统和安全-->系统-->高级系统 安全性--> 环境变量

                      在环境变量弹出窗口中,您将编辑用户变量 PATH 并将 "C:\Windows\System32" 值添加为 分号分隔 到现有值。

                      不重启机器。

                      【讨论】:

                        【解决方案22】:

                        该端口可能正在被另一个应用程序使用,请尝试列出并查看它是否是您的应用程序:

                        lsof -i:8080

                        你可以杀死这个端口的进程:

                        lsof -ti:8080 | xargs kill

                        【讨论】:

                          【解决方案23】:

                          我建议您将节点版本更新为您的应用程序推荐的最新节点版本,或者更新您的节点版本。我在使用 node 版本 11.1 时遇到了同样的问题,但我的应用程序推荐至少版本 10.x.x 或 12.x.x 我在这个线程上尝试了所有建议的回复,但似乎只有当我将节点版本更新为推荐的最新版本时才对我有用。即版本 12.16.3 然后我的应用程序运行。

                          【讨论】:

                            【解决方案24】:

                            我只是想运行 npm run dist 以对 SCSS 文件应用一些更改,但经过数小时的痛苦,这对我有用:

                            1. npm cache clean --force
                            2. delete node_modules folder
                            3. delete package-lock.json file
                            4. sudo npm install npm@latest -g 这会将 npm 升级到最新版本
                            5. npm audit fix --force
                            6. npm upgrade --force
                            7. npm install

                            在这些之后,我终于可以用npm run dist成功编译SCSS文件了。

                            【讨论】:

                              【解决方案25】:

                              这样解决:

                              # chown -R <user>: node_modules
                              

                              【讨论】:

                                【解决方案26】:

                                使用 npm 安装软件包时,请确保使用最新的 npm 版本。

                                在安装 JavaScript 时,请提及最新版本的 NodeJS。例如,在使用 devtools 安装 JavaScript 时,请使用以下代码:

                                devtools i --javascript nodejs:10.15.1
                                

                                这将下载并安装提到的 NodeJS 版本。这对我有用。

                                【讨论】:

                                  【解决方案27】:

                                  我确实按照步骤操作,它有效:

                                  1.

                                  npm cache clean --force
                                  
                                  1. 删除package-lock.json文件

                                  2. 重启我的 WebStorm

                                  【讨论】:

                                    【解决方案28】:

                                    一个可能出乎意料的原因:您使用 Create React App 并没有修复一些警告,并且项目在 CI 上失败(例如 GitLab CI/CD):

                                    Treating warnings as errors because process.env.CI = true.
                                    [ ... some warnings here ...]
                                    npm ERR! code ELIFECYCLE
                                    npm ERR! errno 1
                                    

                                    解决方案:修复你的警告!

                                    替代方案:使用CI=false npm run build

                                    CRA issue #3657

                                    (羞于承认这只是发生在我身上;直到一位同事指出它才看到它。谢谢帕斯卡!)

                                    【讨论】:

                                      【解决方案29】:

                                      我在 Sublime Text 中打开项目文件夹时发出 npm start 命令。关闭 ST 并重新启动服务器为我完成了这项工作。

                                      【讨论】:

                                        【解决方案30】:

                                        我的解决方案:

                                        我缺少 config.env 属性,因为我在新机器上进行开发,当然我将配置文件保存在我的存储库之外。

                                        如果您使用的机器与平时不同,请确保包含克隆的存储库中不存在的任何配置文件。

                                        【讨论】:

                                          猜你喜欢
                                          • 2020-12-27
                                          • 2020-02-12
                                          • 1970-01-01
                                          • 1970-01-01
                                          • 2021-07-27
                                          • 1970-01-01
                                          • 1970-01-01
                                          相关资源
                                          最近更新 更多