跳至主要內容

yarn up

升級專案中的相依性。

用法

$ yarn up ...

範例

將 lodash 的所有執行個體升級到最新版本

yarn up lodash

將 lodash 的所有執行個體升級到最新版本,但每個都詢問確認

yarn up lodash -i

將 lodash 的所有執行個體升級到 1.2.3

yarn up lodash@1.2.3

將範圍為 @babel 的所有套件執行個體升級到最新版本

yarn up @babel/*

將包含 jest 字眼的套件執行個體升級到最新版本

yarn up *jest*

將範圍為 @babel 的所有套件執行個體升級到 7.0.0

yarn up @babel/*@7.0.0

詳細資訊

這個指令會將符合指定模式清單的套件升級到整個專案中可用的最新版本(不論它們是否為 相依性開發相依性 - 同儕相依性 都不會受到影響)。這是一個專案範圍的指令:所有工作區在過程中都會升級。

如果設定 -R,--recursive,指令會改變行為,且不允許其他開關。在此模式下執行時,yarn up 會強制解決與所選套件相符的所有範圍(通常為最高可用版本),然後再儲存在鎖定檔中。不過,它不會再變更您的清單,因此,根據您的需求,您可能需要同時執行 yarn upyarn up -R 以涵蓋所有基礎。

如果設定 -i,--interactive(或開啟 preferInteractive 設定),指令會根據偵測到的升級路徑提供各種選項。有些升級需要此標記才能解決歧義。

-C,--caret-E,--exact-T,--tilde 選項與 add 指令中的意義相同(當範圍遺失或標記時,它們會變更使用的修飾詞,且在明確設定範圍時會略過)。

如果設定 --mode=<mode> 選項,Yarn 會變更產生哪些成品。目前支援的模式為

  • skip-build 完全不會執行建置指令碼。請注意,這與將 enableScripts 設定為 false 不同,因為後者會停用建置指令碼,並因此影響磁碟上產生的成品內容,而前者只會停用建置步驟,但不會停用指令碼本身,只是不會執行。

  • update-lockfile 會完全略過連結步驟,只會擷取鎖定檔中遺失的套件(或沒有關聯檢查碼的套件)。此模式通常由 Renovate 或 Dependabot 等工具使用,以在不產生完整安裝成本的情況下,保持鎖定檔為最新狀態。

通常,您可以將 yarn up 視為 Yarn 1 中 yarn upgrade --latest 的對應項(即它會略過先前在清單中列出的範圍),但與僅升級目前工作區中依賴項的 yarn upgrade 不同,yarn up 會同時升級所有工作區。

此指令接受 glob 模式作為參數(如果 Descriptors 有效且受 micromatch 支援)。請務必跳脫模式,以防止您自己的 shell 嘗試展開它們。

注意:範圍必須是靜態的,只有套件範圍和名稱可以包含 glob 模式。

選項

定義說明

-i,--interactive

提供各種選擇,取決於偵測到的升級路徑

-F,--fixed

將相依性標籤儲存為原樣,而不是解析它們

-E,--exact

不要在已解析的範圍上使用任何 semver 修改器

-T,--tilde

在已解析的範圍上使用 ~ semver 修改器

-C,--caret

在已解析的範圍上使用 ^ semver 修改器

-R,--recursive

再次解析這些套件的所有解析

--mode #0

變更安裝產生哪些成品