跳到主要內容
版本:9.x

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_ENVproductiontrue
    • 如果NODE_ENV不是productionfalse
  • 類型:布林值

如果設定,pnpm 將忽略NODE_ENV,並改用此布林值來判斷環境。

如果為true,pnpm 將不會安裝列在devDependencies中的任何套件,並將移除那些已經安裝的套件。如果為false,pnpm 將安裝列在devDependenciesdependencies中的所有套件。

--dev, -D

僅安裝devDependencies,並移除dependencies中已經安裝的套件,不論NODE_ENV為何。

--no-optional

optionalDependencies 沒有安裝。

--lockfile-only

  • 預設值:false
  • 類型:布林值

使用時,只會更新 pnpm-lock.yamlpackage.json。不會寫入任何內容到 node_modules 目錄。

--fix-lockfile

自動修復損毀的鎖定檔條目。

--frozen-lockfile

  • 預設值:
    • 非 CI:false
    • CI:true,如果存在鎖定檔
  • 類型:布林值

如果為 true,pnpm 就不會產生鎖定檔,而且如果鎖定檔與清單不同步/需要更新或沒有鎖定檔,就會無法安裝。

此設定在 CI 環境 中預設為 true。下列程式碼用於偵測 CI 環境

https://github.com/watson/ci-info/blob/44e98cebcdf4403f162195fbcf90b1f69fc6e047/index.js#L54-L61
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 結構,類似於 npmyarn警告:強烈不建議這麼做。

--ignore-scripts

  • 預設值:false
  • 類型:布林值

不要執行在專案 package.json 及其相依項中定義的任何指令碼。

--filter <package_selector>

警告

過濾目前無法與 v8 預設設定正常運作,您必須明確設定 dedupe-peer-dependentsfalse 才能讓其運作。如需更多資訊和進度,請參閱 #6300

進一步了解過濾。

--resolution-only

重新執行解析:對於列印出同儕相依項問題很有用。