首頁 >web前端 >js教程 >`npm install --legacy-peer-deps` 有什麼作用以及何時推薦?

`npm install --legacy-peer-deps` 有什麼作用以及何時推薦?

Linda Hamilton
Linda Hamilton原創
2024-11-28 14:15:19988瀏覽

What does `npm install --legacy-peer-deps` do and when is it recommended?

npm install --legacy-peer-deps 到底做了什麼?何時推薦/什麼是潛在用例?

TL;DR:

  • NPM v7 預設安裝對等依賴項;先前版本的 NPM 並非如此。
  • NPM 模組必須命名其對等依賴項的特定版本。
  • 如果您已經安裝了對等依賴項,但尚未安裝由模組,然後 NPM v7 會拋出錯誤。
  • 加--legacy-peer-deps 會忽略這個新要求,存在引入破壞的風險

--legacy-peer-deps 從NPM v4 到v6 恢復對等依賴安裝行為

思考此標誌的一種方式是它沒有做新的事情;相反,它告訴NPM 不要做新的事情,因為NPM v7 現在預設安裝對等依賴項。

在許多情況下,這會導致版本衝突,從而破壞安裝過程。

v7 中引入了 --legacy-peer-deps 標誌,作為繞過對等依賴項自動安裝的方法;它告訴 NPM 忽略對等部門並繼續安裝。這就是 NPM v4 到 v6 的過去情況。

依賴關係與對等依賴關係

如果您不清楚常規deps 和對等deps 之間的區別,這裡有一些背景資訊:

  • 依賴項: NPM模組所需的函式庫或模組
  • peerDependencies: 對等依賴是模組設計用於使用的第三方軟體庫的特定版本或版本集。

這個問題部分是由React v17 驅動的

由於大量模組還沒有特別添加了React v17(或者最近的React 18)作為對等依賴項,現在在v17 React 應用程式中執行npm 安裝時遇到無法解析依賴關係樹錯誤是很常見的。

只要出現此錯誤就會觸發模組(或其任何自己的依賴項)將 React 的先前主要版本列為對等依賴項,而無需特別包括 React v17。

如何檢查任何給定的對等依賴項module

NPM 本身不會在給定模組的頁面上列出對等依賴項。但是,有一個簡單的解決方法可以在安裝之前或之後檢查對等依賴項。只需執行:

npm info name-of-module peerDependencies

此命令將傳回每個對等依賴項的名稱以及所有相容版本。

以上是`npm install --legacy-peer-deps` 有什麼作用以及何時推薦?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn