npm-find-dupes

尋找套件樹中的重複項

選擇 CLI 版本

概要

npm find-dupes

說明

--dry-run 模式下執行 npm dedupe,讓 npm 僅輸出重複項,而不會實際變更套件樹。

設定

install-strategy

  • 預設值:hoisted
  • 類型:hoistednestedshallowlinked

設定在 node_modules 中安裝套件的策略。hoisted(預設值):將非重複項安裝在頂層,並在目錄結構中視需要安裝重複項。nested:(以前稱為 --legacy-bundling)就地安裝,不提升。shallow(以前稱為 --global-style)僅在頂層安裝直接依賴項。linked:(實驗性質)安裝在 node_modules/.store 中,就地連結,不提升。

legacy-bundling

  • 預設值:false
  • 類型:布林值
  • 已棄用:此選項已棄用,建議改用 --install-strategy=nested

不要將套件安裝提升到 node_modules 中,而是以它們被依賴的方式安裝套件。這可能會造成非常深的目錄結構和重複的套件安裝,因為沒有重複資料刪除。設定 --install-strategy=nested

global-style

  • 預設值:false
  • 類型:布林值
  • 已棄用:此選項已棄用,建議改用 --install-strategy=shallow

僅在頂層 node_modules 中安裝直接依賴項,但提升較深的依賴項。設定 --install-strategy=shallow

strict-peer-deps

  • 預設值:false
  • 類型:布林值

如果設定為 true,且未設定 --legacy-peer-deps,則 任何 衝突的 peerDependencies 都會視為安裝失敗,即使 npm 可以根據非同儕依賴關係合理猜測適當的解決方案。

預設情況下,依賴項圖中深層的衝突 peerDependencies 將使用最近的非同儕依賴項規格來解決,即使這樣做會導致某些套件收到超出其套件 peerDependencies 物件中設定範圍的同儕依賴項。

當執行此覆寫時,會印出一個警告,說明衝突和所涉及的套件。如果設定 --strict-peer-deps,則此警告會被視為失敗。

package-lock

  • 預設值:true
  • 類型:布林值

如果設定為 false,則在安裝時忽略 package-lock.json 檔案。如果 save 為 true,這也會防止寫入 package-lock.json

omit

  • 預設值:如果 NODE_ENV 環境變數設定為「production」,則為「dev」,否則為空。
  • 類型:「dev」、「optional」或「peer」(可以設定多次)

從磁碟上的安裝樹中省略的相依性類型。

請注意,這些相依性仍然會解析並新增到 package-lock.jsonnpm-shrinkwrap.json 檔案中。它們只是不會實體安裝在磁碟上。

如果套件類型同時出現在 --include--omit 清單中,則會包含該類型。

如果產生的省略清單包含 'dev',則 NODE_ENV 環境變數將會設定為 'production',以適用於所有生命週期指令碼。

include

  • 預設值
  • 類型:「prod」、「dev」、「optional」或「peer」(可以設定多次)

允許定義要安裝的相依性類型的選項。

這是 --omit=<type> 的反向操作。

--include 中指定的相依性類型不會被省略,不論在命令列中指定省略/包含的順序為何。

ignore-scripts

  • 預設值:false
  • 類型:布林值

如果為 true,npm 就不會執行在 package.json 檔案中指定的指令碼。

請注意,明確用來執行特定指令碼的指令,例如 npm startnpm stopnpm restartnpm testnpm run-script,如果設定了 ignore-scripts,仍然會執行其預期的指令碼,但不會執行任何前置或後置指令碼。

audit

  • 預設值:true
  • 類型:布林值

當「true」時,除了目前的 npm 指令外,還會將稽核報告提交至預設的登錄檔和所有為範圍設定的登錄檔。有關提交內容的詳細資料,請參閱 npm audit 的文件。

  • 預設值:true
  • 類型:布林值

指示 npm 為套件可執行檔建立符號連結(或 Windows 上的 .cmd shim)。

設為 false 以不執行此動作。這可以用於解決某些檔案系統不支援符號連結的事實,即使在表面上是 Unix 系統也是如此。

fund

  • 預設值:true
  • 類型:布林值

當「true」時,會在每個 npm install 的結尾顯示訊息,確認尋找資金的相依項數量。有關詳細資料,請參閱 npm fund

workspace

  • 預設值
  • 類型:字串(可設定多次)

在根據此設定選項定義的執行中,啟用在目前專案設定的工作區中執行指令。

下列為 workspace 設定的有效值:

  • 工作區名稱
  • 工作區目錄的路徑
  • 父工作區目錄的路徑(將選取該資料夾中的所有工作區)

當設定為 npm init 指令時,這可能會設定為尚未存在的資料夾,以建立資料夾並將其設定為專案中的全新工作區。

此值不會匯出至子程式的環境。

工作區

  • 預設值:null
  • 類型:null 或布林值

設為 true 以在所有設定的工作區中執行指令。

明確將此設定為 false 將導致 install 等指令完全忽略工作區。未明確設定時:

  • node_modules 樹狀結構上執行的指令(install、update 等)會將工作區連結至 node_modules 資料夾。- 在其他事項上執行的指令(test、exec、publish 等)會在根專案上執行,除非workspace 設定中指定一個或多個工作區。

此值不會匯出至子程式的環境。

包含工作區根目錄

  • 預設值:false
  • 類型:布林值

當為指令啟用工作區時,包含工作區根目錄。

當為 false 時,透過 workspace 設定指定個別工作區,或透過 workspaces 旗標指定所有工作區,將導致 npm 僅在指定的工作區上執行,而不在根專案上執行。

此值不會匯出至子程式的環境。

  • 預設值:false
  • 類型:布林值

當設定時,file:協定相依項將打包並安裝為一般相依項,而不是建立符號連結。此選項對工作區沒有影響。

另請參閱