pnpm install
命令別名:i
使用 pnpm install
來為專案安裝所有相依套件。
在 CI 環境中,如果 lockfile 存在但需要更新時,會使安裝失敗。
在 workspace 中,pnpm install
會安裝所有專案的相依套件。 如要停用此行為,請將 recursive-install
設為 false
。
TL;DR
命令 | 效果 |
---|---|
pnpm i --offline | 僅從儲存區離線安裝套件 |
pnpm i --frozen-lockfile | 不更新 pnpm-lock.yaml |
pnpm i --lockfile-only | 僅更新 pnpm-lock.yaml |
Options
--force
Force reinstall dependencies: refetch packages modified in store, recreate a lockfile and/or modules directory created by a non-compatible version of pnpm. Install all optionalDependencies even they don't satisfy the current environment(cpu, os, arch).
--offline
- 預設值:false
- 類型:Boolean
此值為 true
時,pnpm 只使用儲存區中可用的套件。 如果在本機無法找到套件,則安裝會失敗。
--prefer-offline
- 預設值:false
- 類型:Boolean
此值為 true
時,將不檢查快取資料是否過時,但將從伺服器請求遺漏的資料。 若要強制啟用完全離線模式,請使用 --offline
。
--prod, -P
pnpm will not install any package listed in devDependencies
and will remove those insofar they were already installed, if the NODE_ENV
environment variable is set to production. Use this flag to instruct pnpm to ignore NODE_ENV
and take its production status from this flag instead.
--dev, -D
Only devDependencies
are installed and dependencies
are removed insofar they were already installed, regardless of the NODE_ENV
.
--no-optional
optionalDependencies
未安裝。
--lockfile-only
- 預設值:false
- 類型:Boolean
使用此選項時,僅更新 pnpm-lock.yaml
與 package.json
。 不會對 node_modules
目錄寫入任何檔案。
--fix-lockfile
自動修復損壞的 lockfile。
--frozen-lockfile
- 預設值:
- 非 CI:false
- CI:當 lockfile 存在時為 true
- 類型:Boolean
此值為 true
時,pnpm 不會產生 lockfile,並且在 lockfile 與清單不同步、需要更新,或 lockfile 不存在時,會使安裝失敗。
此設定值在 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
)
--reporter=<name>
- 預設值:
- For TTY stdout: default
- For non-TTY stdout: append-only
- 類型:default、append-only、ndjson、silent
此選項讓您可以選擇要使用的 reporter,其負責將安裝過程中的偵錯資訊紀錄至終端機。
- silent - 不輸出紀錄至主控台,即使嚴重錯誤也一樣
- default - 當 stdout 為 TTY 時的預設 reporter
- append-only - 總是將輸出結果附加在尾端。 不會進行游標操作
- ndjson -- 最詳盡的 reporter 以 ndjson 格式印出所有日誌
若要變更輸出資訊的類型,可以透過 loglevel 設定值調整。
--use-store-server
- 預設值:false
- 類型:Boolean
Starts a store server in the background. The store server will keep running after installation is done. To stop the store server, run pnpm server stop
--shamefully-hoist
- 預設值:false
- 類型:Boolean
建立平鋪的 node_modules
結構,類似 npm
或 yarn
的樣子。 警告:極度不建議使用此選項。
--ignore-scripts
- 預設值:false
- 類型:Boolean
不要執行任何定義在此專案 package.json
及其依附套件的指令碼。
--filter <package_selector>
--resolution-only
Added in: v8.3.0
Re-runs resolution: useful for printing out peer dependency issues.