我們如何安全地公升級專案中的npm依賴項?依賴包版本之前的滑稽^
和~
字元是什麼意思?我們如何在專案中的npm依賴項上進行主要版本公升級?我們將在這篇文章中找到。
npm軟體包版本控制遵循語義版本控制。因此,軟體包版本包含3個部分-major.minor.patch
乙個版本通常^
在其前面(例如^16.8.6
)。這意味著可以安全地安裝最新的次要版本。因此,在此示例中,^16.12.1
如果它是中的最新版本,則可以安全地安裝16.x
。
有時某個版本的~
前面帶有乙個(例如~16.8.6
)。這意味著只能安全地安裝最新的修補程式版本。因此,在此示例中,^16.8.12
如果它是中的最新版本,則可以安全地安裝16.8.x
。
是的,沒有!
如果軟體包已經安裝到node_modules
資料夾中,則npm install
不會更新任何軟體包。
如果尚未安裝軟體包並且package-lock.json
存在檔案,npm install
則將安裝中指定的確切依賴版本package-lock.json
。
npm install
如果node_modules
資料夾中不存在依賴項,則會安裝最新的安全版本的依賴項,並且沒有package-lock.json
檔案。但是,你可能認為最新的安全版本還沒有被安裝,因為package.json
是不變的,但如果你檢查包中node_modules
的資料夾,最新安全版本將被安裝。
首先,可以通過執行以下命令來發現過時的依賴關係:
npm outdated
依賴關係將列出:
該想的版本是可以採取(根據語義版本和最新安全版本^
或~
字首)。在最新的版本是在npm登錄檔提供的最新版本。
可以使用以下命令將所有依賴項安全地更新為所需版本:
npm update
除了更新node_modules
資料夾中的軟體包之外,package.json
和package-lock.json
檔案也會被更新。
如果我們不想更新所有軟體包,則可以在命令末尾指定軟體包名稱:
npm update "react"
"react-dom"
在上面的示例中,react已更新。
那麼,當發生重大版本更改時,我們如何公升級依賴關係?
也許最安全的方法如下:
npm
install
@latest
npm
install react@latest react-dom@latest
有沒有一種更新所有依賴項(包括主要版本更改)的更快方法?因此,npm update
除了主要版本更新外,還可以嗎?
是的,有乙個名為npm-check-updates的工具可以做到這一點。只需執行以下命令:
npx npm-check-updates -u
這會將依賴關係更新為檔案中的最新版本(包括主要版本更改)package.json
。如果我們樂意繼續進行公升級,則需要執行以下命令:
npm
install
然後,這將公升級node_modules
資料夾中的軟體包,並且package-lock.json
檔案也將被更新。
linux版python公升級依賴項問題
參考資料 linux中python2公升級到python3,會出現一系列的依賴項未配置問題,如果不解決,將會影響其他環境的安裝配置。比如python2公升級到3之後,安裝docker就會出現 大量文字高能警告,可以忽略跳到後面 正在讀取軟體包列表.完成 正在分析軟體包的依賴關係樹 正在讀取狀態資訊....
npm依賴管理 冗餘,依賴樹
npm的依賴樹查詢 原理都是查詢檔案夾node modules的結構。比如mac的node modules位置在 usr local lib下。具體專案的node modules位置位於專案根目錄下。1 檢視npmjs上某個外掛程式的依賴情況 2 檢視某個專案的外掛程式依賴情況 3 檢視本地計算機上...
npm如何公升級自身
其實使用npm公升級各種外掛程式是很方便的,比如我想公升級express框架,使用如下命令 npm update express如果你的express是全域性安裝,則 npm update g express也可以使用安裝命令來重灌,在這裡是等效於update npm install g expre...