节点错误 npm ERR! cb() 从未调用过
Posted
技术标签:
【中文标题】节点错误 npm ERR! cb() 从未调用过【英文标题】:Node error npm ERR! cb() never called 【发布时间】:2018-09-19 13:18:27 【问题描述】:当我运行命令npm install npm@latest -g
我收到以下错误:-
npm WARN tar zlib error: unexpected end of file
npm ERR! cb() never called!
npm ERR! This is an error with npm itself. Please report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\dk\AppData\Roaming\npm-cache\_logs\2018-04-10T03_25_52_880Z-debug.log
我用谷歌搜索并尝试了很多东西,但没有任何效果。
【问题讨论】:
试试npm i -g npm
这里讨论了问题和解决方法github.com/npm/npm/issues/19353
我已经解决了同样的问题。看到这个链接***.com/questions/52467848/…
就我而言,npm cache verify
确实有效。 Reference
【参考方案1】:
对于遇到此问题的任何人,如果您在npm install
上遇到相同的错误消息,那么npm install --no-package-lock
为我解决了这个问题。
正如上面 Mohit Mutha 评论中引用的 Github issue 中所建议的,如果命令在 CI/CD 管道中运行,或者在我的情况下,在 Docker 中运行,则尤其如此。
编辑:原因是package-lock.json
文件已存在于您的 Docker 映像或 CI 管道中
Full details
【讨论】:
确认在 ng v6 项目的 gitlab 管道上积极使用该标志。 就我而言(jenkins CI),工作区已损坏。清理工作区很有帮助。 人们在拨打--no-package-lock
时应该知道他们禁用了什么,你不觉得吗?
这个问题的一个原因是你的项目目录中有 package-lock.json 文件。因此,您可能必须从目录中删除 package-lock.json 文件,然后运行 npm install
命令。希望它对你有用。
伙计,我可以为这个答案投百万票。你为我节省了很多时间。谢谢!!!【参考方案2】:
我们的团队在 CI 管道中遇到了这个错误。然而,使用--no-package-lock
的最佳答案实际上会导致 npm 也不使用现有的 package-lock.json,这绝对不是 CI 所需的行为。相反,现在推荐使用npm ci
在 CI 中安装,因为它将使用现有的包锁(仅此而已)。
【讨论】:
【参考方案3】:运行解决
sudo npm cache clean --force
然后删除 package-lock.json 和 node_modules
然后执行
npm install
【讨论】:
运行以下命令解决了我的问题 --- npm install --no-package-lock以上是关于节点错误 npm ERR! cb() 从未调用过的主要内容,如果未能解决你的问题,请参考以下文章
npm 错误! cb() 从未在 windows10 中调用过
npm 错误! cb() 从未调用过!尝试运行 npm install 命令时出错
npm ERR! cb() never called! npm ERR! <https://npm.community>
如何修复节点服务器错误,npm ERR!代码 ELIFECYCLE npm 错误!错误1?