如何解决npm错误“npm ERR!”代码ELIFECYCLE"

我试图学习react,所以我有这个全堆栈react投票应用程序的示例代码,我试图让它工作,但在运行npm安装后,接着是npm启动,当我运行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 ]
1262144 次浏览

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

npm cache clean

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

rm -rf node_modules

之后,再次使用安装依赖项

npm install

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

rm .\package-lock.json

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

修改node_modules目录下的访问权限

chmod -R a+rwx ./node_modules

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

以超级用户身份执行命令:

sudo npm x-command

我先是跑:

npm run clean

(即使它带有错误)

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

npm install

这似乎解决了问题。

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

我在这里发布这篇文章是为了指出,由于资源限制,你可能会得到这个错误,这是我在其他问题页面和SO答案中没有真正看到的解释。我在错误日志中没有看到任何指向这个方向的东西。

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

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

步骤1:$ npm cache clean --force

第二步:通过$ rm -rf node_modules (windows中的rmdir /S /Q node_modules)文件夹删除node_modules或通过进入目录并右键单击>删除/移动到垃圾。如果你不更新你的包,你也可以删除package-lock.json文件。

步骤3:npm install

重新开始, $ npm start < / p >

这对我很管用。希望这对你也有用。

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

我解决了这个错误,请输入以下命令

npm install -g express-generator
express --view=hbs /tmp/foo && cd /tmp/foo
npm install
npm start

这样解决:

# chown -R <user>: node_modules

删除node_modules和package-lock。Json,然后运行NPM install。它在这里工作得很好(在项目根中运行下面的命令):

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

在我的情况下,我签了一个不同的分支,上面有一个新的库。我通过只运行npm install而不做任何其他事情来解决我的问题。我很困惑为什么当端口没有被使用时我得到ELIFECYCLE错误,但这一定是因为我没有安装库。所以,你可能不需要删除node_modules来修复这个问题。

清洗CacheNode_module是不够的。 遵循以下步骤:

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

对我来说是这样的。

我在Windows 10中使用react-create-app, 2019年2月2日,最新的NodeJS 11.9.0和npm 6.7.0(当你安装NodeJS时,npm已经存在)。我认为节点包损坏的情况很少,主要原因是权限。

在开始时,我把项目目录放在Desktop,它属于C:\驱动程序。我移动到另一个驱动程序的另一个目录。因此,我消除了“文件权限”的顾虑。每一个工作都很好很简单。

cd /d D:\
mkdir temp20190202
npx create-react-app my-app
cd my-app
npm start

这是可以的,不把项目文件夹放在C:\(或其他包含Windows操作系统的驱动程序)的目录中。

npm install --unsafe-perm

为我工作。看到https://docs.npmjs.com/--unsafe-perm参数允许您以根用户身份从包安装中运行脚本。在我的案例中,问题是一些依赖项未能安装。

面对这个问题,

对我来说,它通过删除 package-lock.json和重新运行npm install工作

如果这不能解决问题,试试

  1. 删除package-lock.json
  2. npm cache clean --force
  3. npm install
  4. npm start

我在Angular 7中也遇到了同样的问题。只要执行以下步骤,错误就解决了。

1).删除你的node_modules文件夹和package-lock.json文件。

2).执行npm install命令。

3).执行npm audit fix命令。

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

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

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

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

devtools i --javascript nodejs:10.15.1

这将下载并安装上面提到的NodeJS版本。这对我很管用。

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

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

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

我把我的node降级到8,它工作了!

这很奇怪,但对我来说很有效

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

在环境变量弹出框中,你将编辑用户变量PATH,并将“C: \ Windows \ System32系统”值作为分号分隔添加到现有值。

至少要重启机器。

enter image description here

端口可能正在被其他应用程序使用,尝试列出并查看是否是你的应用程序:

lsof -i:8080

你可以终止这个端口的进程:

lsof -ti:8080 | xargs kill

我确实按照步骤做了,很管用:

1.

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

  2. 重启我的WebStorm

这与我的NPM包无关。我的Vuepress项目使用自定义主机名称。省略了这一点,事情又开始运转了。

一个可能意想不到的原因:你在使用创建React应用时留下了一些未修复的警告,项目在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 3657号问题

(不好意思承认这只是发生在我身上;直到同事指出来我才发现。谢谢帕斯卡!)

我用Sublime Text打开的项目文件夹发出npm start命令。关闭ST并重新启动服务器对我来说很有效。

这解决了我在ubuntu 16上的问题

1)更新npm和节点到最新版本。 2)重启系统 3)删除node_modules和npm i &npm开始< / p >

我的情况需要全局删除webpack文件夹,然后删除项目node_modules文件夹,package-lock。运行NPM install, NPM start

React应用程序:对我来说,问题是运行npm install后有一些错误。

我使用了npm audit fix的建议。这个操作破坏了我的package.jsonpackage-lock.json(包的更改版本和.json的结构)。

解决方案是:

  • 删除node_modules
  • 运行npm install
  • npm start

希望这对某些人有所帮助。

其他答案并没有解决我的问题。这对我来说很管用:

  • 尝试删除构建输出。
  • 对我来说,这意味着删除general.dll.js

额外的细节

  • Windows 10 64位开发机
  • 开始运行webpack生成一个构建文件:general.dll.js
  • 如果我在“NPM Start”时得到ELIFECYCLE错误,通常是在我已经成功执行“NPM Start”但随后停止它之后,才再次启动“NPM Start”。
  • 我注意到general.dll.js出现在一些难以理解的日志中

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

rm -rf node_modules && rm ./package-lock.json && npm install
但对我来说这行不通。 我刚重新启动我的机器,它运行得很好。
我是Linux用户,机器HP.

我建议您将节点版本更新到应用程序推荐的最新节点版本,或者简单地更新您的节点版本。我在使用节点版本11.1时遇到了同样的问题,但我的应用程序建议至少使用10.x版本。X或12.x.x 我在这个线程上尝试了所有建议的回复,但似乎都不起作用,直到我将节点版本更新到推荐的最新版本。版本12.16.3然后我的应用程序运行。 enter image description here < / p >

我的解决方案:

我丢失了config.env属性,因为我在新机器上开发,当然我把我的配置文件从我的repo中保存下来。

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

我使用的是ubuntu 18.04 LTS版本,我遇到了同样的问题,我试图清理缓存,但它不适合我。然而,我找到了另一个解决方案。

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

npm开始

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

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

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

清洗CacheNode_module将工作。 遵循以下步骤:

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

通常killall node命令修复我的。

我在运行构建时得到这个npm ERR! code ELIFECYCLE错误。清除缓存并移除包锁。Json文件并不能解决这个问题。

在我的例子中,是一个运行在Docker映像上的Angular构建导致了这个问题。根本原因是在MacOS的Docker上运行构建,MacOS在Linux虚拟机中运行Docker,默认分配了2GB内存。

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

对我来说,一个有用的答案是ng构建时调用重试异常

好!我在编写react代码时多次得到这个错误,大多数情况下是因为以下两个

  1. 例如,当您从错误的库中导入某个东西时
   import {Button} from "bootstrap"; //wrong one
import {Button} from 'react-bootstrap';//the correct one
  1. 当您从不同的库导入两个同名元素时
   import {Text} from 'react-native';
import {Text} from 'native-base';

如果这不是你的错误,那么你应该删除所有节点模块并重新安装,或者开始一个新项目并继续工作!

试着重启你的电脑。这对我很管用。

在CentOS Linux上使用cPanel(使用PlanetHoster), NodeJS v10安装在/opt/cpanel/ea-nodejs10/bin,需要添加到~/.bash_profile:

PATH=$PATH:$HOME/.local/bin:$HOME/bin:/opt/cpanel/ea-nodejs10/bin

在那之后,我对npm install没有任何问题

我只是想运行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文件。

在大多数情况下,这是一个OOM问题,来自于缺乏可用内存。

在结合了这里和其他地方的一些建议后,我设法解决了这个问题,我将详细介绍它们,因为有人可能会发现它们很方便。

首先,我想说的是,我买了一个非常便宜的带有512 MB RAM的VPS来安装Uptime Kuma,根据我的评论,node/npm的可用内存略低于370 MB,这不足以编译所有东西。

VPS没有交换空间,因此进程很容易因为OOM而被杀死。

为了解决这个问题,我创建了一个1gb的交换文件,并按照指令在这里挂载它。

TL;DR,只需执行这些命令:

cd /var
touch swap.img
chmod 600 swap.img
dd if=/dev/zero of=/var/swap.img bs=1024k count=1000
mkswap /var/swap.img
swapon /var/swap.img
echo "/var/swap.img    none    swap    sw    0    0" >> /etc/fstab

我不需要这样做来优先考虑交换而不是RAM,但你可能需要这样做,所以值得一试:

sysctl -w vm.swappiness=30

细节我就不麻烦你了,都在文章里。

接下来,我通过执行将max-old-space-size增加到1024:

export NODE_OPTIONS="--max-old-space-size=1024"

如所见在这里。然后我成功地运行了npm。

根据您的规格和需求,您可能需要将交换文件增加到更高的值,但它应该总是能够解决OOM问题。

在我的情况下,我实际上遇到了这个错误“code ELIFECYCLE"詹金斯的工作。我尝试清理npm缓存,但它没有工作,还检查了Jenkins构建服务器的内存,看起来还可以。然后,我发现react项目的编译实际上在Jenkins中失败了,但在我的本地或在Jenkins构建服务器上手动运行构建时没有失败,并且Jenkins还提到了“将警告视为错误,因为process.env.CI = true”。看起来我的项目中的警告导致了Jenkins的错误。因此,在Jenkins作业中,我暂时将CI更改为true。在我清除这些警告之前,这实际上修复了Jenkins的构建错误。

在我的例子中,以下是有效的:

我使用节点版本管理器,因为一些项目运行在旧版本的node . js上

确保项目失败运行的是正确的Node版本。

NVM使用“正确的节点版本”

< p > npm安装 NPM start应该这样做

ELIFECYCLE,据我所收集,基本上意味着你正在尝试使用已经达到生命周期结束的包。更新包对我有用。

尝试完全更新最新的稳定版本的nodejs和npm:

sudo apt -y update && sudo apt -y upgrade


curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs


sudo apt -y update && sudo apt -y upgrade
sudo apt -y autoremove

然后,更改目录到您的应用程序目录:

cd myapp/ #Change this to match your app directory

删除node_modules文件夹

sudo rm -rf node_modules/

然后重新安装软件包:

npm i

看看你的应用是否构建成功:

npm run build

试试下面的命令

1-更新节点

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -

sudo apt-get install -y nodejs

2-remove节点模块

 rm -rf node_modules/ package-lock.json

3明确缓存

npm cache clear --force

4 -

npm install

如果返回通知安装新版本,运行它,例如 enter image description here < / p >

我运行这个命令来更新新版本

npm install -g npm@9.1.1

5 -

 npm run dev