如何解决npm 安装行为的更改会覆盖 package.json 中的 github 模块
我有一些私有开发 github 模块作为我的 node.js 项目的一部分。我的 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 文件的包版本。此外,使用缓存进行后续命令调用将是一个更快的查询。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。