簡體   English   中英

package.json中如何使用override更新子依賴

[英]How to use override in package.json to update child dependencies

我看到異步中的漏洞並想將其更新到3.2.2如果我執行npm list async ,這就是依賴樹

└─┬ webpack-dev-server@4.8.1
  └─┬ portfinder@1.0.28
    └── async@2.6.4

因此,查看npmdocs我嘗試在 package.json 中添加覆蓋,如下所示。

{
  "name": "some application",
  "scripts": {...},
  "dependencies": {...},
  "overrides": {
    "webpack-dev-server": {
      "portfinder": {
        "async": "3.2.2"
      }
    }
  },
  "devDependencies": {...}
}

但是當我執行npm install時,它沒有將異步版本更新到 3.2.2,並且仍然在 pacakge-lock.json 中顯示舊版本。 我從 devDependencies 中刪除了 webpack-dev-server package 但在運行 npm 安裝后我在npm list async上變空了

└── (empty)

知道我做錯了什么嗎?

您需要使用 NPM 版本 8.3.0 或更高版本才能“覆蓋”工作。 您可以查看以下 github 問題以獲取更多信息,

https://github.com/npm/cli/issues/4232

你已經把它倒過來了......你指定要覆蓋哪個依賴項的版本(例如async ),然后提供父母及其版本的版本或列表,所以它是這樣的:

  "overrides": {
     "async": "3.2.2"
  },

或者如果是具體的:

  "overrides": {
    "async": {
      "portfinder": "3.2.2"
    }
  },

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM