[英]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.