繁体   English   中英

npm 安装行为的更改覆盖 package.Z466DEEC76ECDF25FCA6D385ZZ71F6 中的 github 模块

[英]Change in npm install behaviour overwrites github modules in package.json

作为我的 node.js 项目的一部分,我有一些私人开发 github 模块。 我的 package.json 包括以下内容:

  "dependencies": {
    ...
    "my-dev-module": "git+ssh://git@github.com/my-company/my-dev-module.git#test-branch",
    ...
  }

在过去的几年里,当我执行npm install my-dev-module时,它只是安装了那个分支并且没有触及 package.json。

最近,安装后它开始覆盖条目:

  "dependencies": {
    ...
    "my-dev-module": "*",
    ...
  }

所以在随后的 npm 安装它失败,因为它不是一个已发布的模块。

这与将 npm 更新到最新版本(7.5.4)有关。 我已将 npm 降级到 6.14.11,问题就消失了。

我已经阅读了最近的发布文档,但没有什么明显的罪魁祸首。 有任何想法吗?

你有你的 package-lock.json 文件所以使用

npm ci

命令而不是

npm i

安装软件包。

它将确保安装的所有软件包都根据 package-lock.json 文件,并且不会编辑 package.json 文件的软件包版本。 此外,使用缓存进行后续命令调用将是一个更快的查询。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM