我有一些私人开发github模块作为我的node.js项目的一部分。我的包。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,问题就解决了。
我已经通读了最近的发布文档,但没有什么明显的罪魁祸首。什么好主意吗?
您有您的包锁。Json文件,使用
npm ci
命令代替
npm i
安装包。
它将确保所有安装的包都是按照package-lock安装的。Json文件,不会为package编辑package的版本。json文件。另外,对于后续的命令调用,使用缓存将是一个更快的查询。