【问题标题】:Node error npm ERR! cb() never called节点错误 npm ERR! cb() 从未调用过
【发布时间】: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

我用谷歌搜索并尝试了很多东西,但没有任何效果。

【问题讨论】:

标签: node.js npm npm-install


【解决方案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
    猜你喜欢
    • 2013-03-01
    • 2021-09-09
    • 2020-06-15
    • 2021-06-02
    • 2019-12-18
    • 1970-01-01
    • 2020-06-24
    • 2018-03-20
    • 1970-01-01
    相关资源
    最近更新 更多