pnpm 更新
別名:up
、upgrade
pnpm 更新
會根據指定的範圍將套件更新為最新版本。
若未帶任何參數使用,則會更新所有相依性。
簡而言之
指令 | 意義 |
---|---|
pnpm up | 更新所有相依性,遵循在 package.json 中指定的範圍 |
pnpm up --latest | 將所有相依性更新至其最新版本 |
pnpm up foo@2 | 將 foo 更新至 v2 的最新版本 |
pnpm up "@babel/*" | 更新 @babel 範圍下的所有相依性 |
使用模式選擇相依性
您可以使用模式來更新特定相依性。
更新所有 babel
套件
pnpm update "@babel/*"
更新所有相依性,但排除 webpack
pnpm update "\!webpack"
模式也可以組合,因此下一個指令將更新所有 babel
套件,但排除 core
pnpm update "@babel/*" "\!@babel/core"
選項
--recursive, -r
在具有 package.json
的所有子目錄中同時執行更新(排除 node_modules)。
使用範例
pnpm --recursive update
# updates all packages up to 100 subdirectories in depth
pnpm --recursive update --depth 100
# update typescript to the latest version in every package
pnpm --recursive update typescript@latest
--latest, -L
將相依性更新至其最新穩定版本,由其 latest
標籤決定(可能會將套件升級至主要版本),只要在 package.json
中指定的版本範圍低於 latest
標籤(即它不會降級預發行版本)。
--global, -g
更新全域套件。
--workspace
嘗試連結工作區中的所有套件。版本會更新以符合工作區內套件的版本。
如果更新特定套件,則如果工作區內找不到任何已更新的相依性,指令將會失敗。例如,如果 express
不是工作區套件,則以下指令將會失敗
pnpm up -r --workspace express
--prod, -P
僅更新 dependencies
和 optionalDependencies
中的套件。
--dev, -D
僅更新 devDependencies
中的套件。
--no-optional
不更新 optionalDependencies
中的套件。
--interactive, -i
顯示過期的依賴項,並選擇要更新哪些依賴項。