yarn install
安裝專案相依性。
用法
$ yarn install
範例
安裝專案
yarn install
使用零安裝時驗證專案
使用零安裝時驗證專案(如果您接受外部公關,則稍微安全一些)
詳細資料
此命令會在需要時設定您的專案。安裝分為四個不同的步驟,每個步驟都有自己的特性
-
解析:首先,套件管理員會解析您的相依性。相依性版本優先於另一個版本的確切方式並未標準化於常規 semver 保證之外。如果套件未解析為您預期的版本,請檢查是否所有相依性都已正確宣告(也請查看我們的網站以取得更多資訊:)。
-
擷取:然後,我們會在需要時下載所有相依性,並確保它們都儲存在我們的快取中(檢查
cacheFolder
在yarn config
中的值,以查看快取檔案儲存在哪裡)。 -
連結:然後,我們將相依性樹狀結構資訊傳送給內部外掛程式,負責以某種形式將它們寫入磁碟(例如,產生您可能知道的
.pnp.cjs
檔案)。 -
建置:相依性樹狀結構寫入磁碟後,套件管理員現在可以自由執行所有可能需要它的套件的建置指令碼,其拓撲順序與它們相互依賴的方式相容。請參閱 https://yarn.dev.org.tw/advanced/lifecycle-scripts 以取得詳細資料。
請注意,執行此命令並非建議的工作流程的一部分。Yarn 支援零安裝,這表示只要您將快取和 .pnp.cjs
檔案儲存在儲存庫中,一切都會正常運作,無需在複製您的儲存庫或切換分支後執行任何安裝。
如果設定了 --immutable
選項(在 CI 上預設為 true),如果鎖定檔要修改,Yarn 將會中斷並顯示錯誤結束代碼(可以使用 immutablePatterns
組態設定加入其他路徑)。為了向後相容,我們提供了一個別名,名稱為 --frozen-lockfile
,但它將在後續版本中移除。
如果設定了 --immutable-cache
選項,如果快取資料夾要修改(因為檔案會新增或移除),Yarn 將會中斷並顯示錯誤結束代碼。
如果設定了 --refresh-lockfile
選項,Yarn 會保留鎖定檔中目前套件的相同解析,但會更新它們的元資料。如果與 --immutable
搭配使用,它可以驗證鎖定檔資訊是否一致。當 Yarn 偵測到它在拉取請求背景中執行時,此旗標會預設啟用。
如果設定了 --check-cache
選項,Yarn 將會永遠重新取得套件,並確保其檢查和符合 1/ 鎖定檔中描述的 2/ 現有快取檔(如果存在)中的內容。如果你同時遵循零安裝模式,並接受來自第三方的 PR,建議將此作為 CI 工作流程的一部分,因為他們在提交套件之前,否則有能力變更已檢查的套件。
如果設定了 --inline-builds
選項,Yarn 將會詳細列印相依項目的建置步驟輸出(而不是將它們寫入個別檔案)。這可能主要只在使用類似 Docker 的環境時,用於除錯目的。
如果設定了 --mode=<mode>
選項,Yarn 將會變更產生的工件。目前支援的模式為
-
skip-build
根本不會執行建置指令碼。請注意,這與將enableScripts
設定為 false 不同,因為後者會停用建置指令碼,並因此影響磁碟上產生的工件內容,而前者只會停用建置步驟,但不會停用指令碼本身,只是不會執行。 -
update-lockfile
將會完全略過連結步驟,只會取得鎖定檔中遺失的套件(或沒有關聯檢查和的套件)。此模式通常由 Renovate 或 Dependabot 等工具使用,以在不產生完整安裝成本的情況下,讓鎖定檔保持最新。
選項
定義 | 說明 |
---|---|
| 將輸出格式化為 NDJSON 串流 |
| 如果要修改鎖定檔,則會中斷並產生錯誤結束代碼 |
| 如果要修改快取資料夾,則會中斷並產生錯誤結束代碼 |
| 更新儲存在鎖定檔中的套件中繼資料 |
| 永遠重新取得套件,並確保其檢查和一致 |
| 驗證套件解析度是否一致 |
| 詳細列印相依項目的建置步驟輸出 |
| 變更安裝產生的工件 |