我找不到任何說明 npm 不會嘗試安裝已棄用的軟體包版本的檔案。
例子:
2.0.0-beta.2 2.0.0-beta.5 2.0.0-rc.9
因此,如果我安裝 ^2.0.0-beta.2,它將決議為 2.0.0-rc.9
如果我棄用 2.0.0-rc.9
2.0.0-beta.2 2.0.0-beta.5 2.0.0-rc.9
(deprecated)
現在,如果我安裝 ^2.0.0-beta.2,它將決議為 2.0.0-beta.5
但我找不到任何證明這種行為的檔案。有人可以幫忙驗證嗎?
uj5u.com熱心網友回復:
我測驗并確認,如果它可以使用另一個版本,它確實會忽略不推薦使用的版本。(我暫時棄用metal-name了 1.3.1 版,然后運行npm install metal-name@1. 它安裝了 1.3.0 版而不是 1.3.1。當我洗掉了 1.3.1 版的棄用時,它又回到了安裝 1.3.1 時運行npm install metal-name@1.
我找不到 npm CLI 檔案中提到的這種行為。但是,我可以在 npm CLI 客戶端的提交日志中找到它。
npm 用于npm-pick-manifest確定要安裝的內容。該模塊的自述檔案說:
更喜歡非棄用版本而不是棄用版本。
uj5u.com熱心網友回復:
NPM 將根據您對每個依賴項的 package.json 規則執行您告訴它執行的任何操作。如果您使用^作為版本前綴,那么是的:您確實告訴 NPM 使用“最新的次要版本”。
請參閱依賴管理檔案和semver 范圍檔案,了解可接受的語法以及它們的含義。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/411280.html
標籤:
