pnpm install
別名:i
pnpm install
用於安裝專案的所有相依性。
在 CI 環境中,如果存在鎖定檔但需要更新,則安裝會失敗。
在 工作區 內,pnpm install
會安裝所有專案中的所有相依性。如果您想停用此行為,請將 recursive-install
設定設為 false
。
TL;DR
指令 | 意義 |
---|---|
pnpm i --offline | 僅從儲存庫離線安裝 |
pnpm i --frozen-lockfile | 不更新pnpm-lock.yaml |
pnpm i --lockfile-only | 僅更新pnpm-lock.yaml |
選項
--force
強制重新安裝相依性:重新取得儲存庫中修改的套件,重新建立鎖定檔和/或由不相容版本的 pnpm 建立的模組目錄。安裝所有 optionalDependencies,即使它們不符合目前的環境(cpu、作業系統、架構)。
--offline
- 預設值:false
- 類型:布林值
如果為true
,pnpm 將僅使用儲存庫中已存在的套件。如果在本地找不到套件,安裝將會失敗。
--prefer-offline
- 預設值:false
- 類型:布林值
如果為true
,將略過快取資料的過期檢查,但會從伺服器請求遺失的資料。若要強制完全離線模式,請使用--offline
。
--prod, -P
- 預設值:
- 如果
NODE_ENV
為production
:true
- 如果
NODE_ENV
不是production
:false
- 如果
- 類型:布林值
如果設定,pnpm 將忽略NODE_ENV
,並改用此布林值來判斷環境。
如果為true
,pnpm 將不會安裝列在devDependencies
中的任何套件,並將移除那些已經安裝的套件。如果為false
,pnpm 將安裝列在devDependencies
和dependencies
中的所有套件。
--dev, -D
僅安裝devDependencies
,並移除dependencies
中已經安裝的套件,不論NODE_ENV
為何。
--no-optional
optionalDependencies
沒有安裝。
--lockfile-only
- 預設值:false
- 類型:布林值
使用時,只會更新 pnpm-lock.yaml
和 package.json
。不會寫入任何內容到 node_modules
目錄。
--fix-lockfile
自動修復損毀的鎖定檔條目。
--frozen-lockfile
- 預設值:
- 非 CI:false
- CI:true,如果存在鎖定檔
- 類型:布林值
如果為 true
,pnpm 就不會產生鎖定檔,而且如果鎖定檔與清單不同步/需要更新或沒有鎖定檔,就會無法安裝。
此設定在 CI 環境 中預設為 true
。下列程式碼用於偵測 CI 環境
exports.isCI = !!(
env.CI || // Travis CI, CircleCI, Cirrus CI, GitLab CI, Appveyor, CodeShip, dsari
env.CONTINUOUS_INTEGRATION || // Travis CI, Cirrus CI
env.BUILD_NUMBER || // Jenkins, TeamCity
env.RUN_ID || // TaskCluster, dsari
exports.name ||
false
)
--merge-git-branch-lockfiles
合併所有 git 分支鎖定檔。 深入了解 git 分支鎖定檔。
--reporter=<name>
- 預設值:
- TTY stdout:預設
- 非 TTY stdout:僅追加
- 類型:預設、僅追加、ndjson、靜音
讓你可以選擇會將偵錯資訊記錄到終端機的安裝進度記錄器。
- 靜音 - 沒有任何輸出記錄到主控台,即使是致命錯誤
- 預設 - 當 stdout 是 TTY 時的預設記錄器
- 僅追加 - 輸出總是追加到結尾。不會執行游標操作
- ndjson - 最詳細的記錄器。以 ndjson 格式列印所有記錄
如果您想變更列印資訊的類型,請使用 loglevel 設定。
--use-store-server
- 預設值:false
- 類型:布林值
在背景中啟動儲存庫伺服器。儲存庫伺服器會在安裝完成後繼續執行。若要停止儲存庫伺服器,請執行 pnpm server stop
--shamefully-hoist
- 預設值:false
- 類型:布林值
建立扁平的 node_modules
結構,類似於 npm
或 yarn
。警告:強烈不建議這麼做。
--ignore-scripts
- 預設值:false
- 類型:布林值
不要執行在專案 package.json
及其相依項中定義的任何指令碼。
--filter <package_selector>
過濾目前無法與 v8 預設設定正常運作,您必須明確設定 dedupe-peer-dependents 為 false
才能讓其運作。如需更多資訊和進度,請參閱 #6300
--resolution-only
重新執行解析:對於列印出同儕相依項問題很有用。