メインコンテンツにスキップ
バージョン: 9.x

pnpm install

エイリアス: i

pnpm install は、プロジェクトのすべての依存関係をインストールするために使用されます。

CI 環境では、ロックファイルが存在するにもかかわらず更新が必要な場合、インストールは失敗します。

ワークスペース内では、pnpm install はすべてのプロジェクトのすべての依存関係をインストールします。この動作を無効にする場合は、recursive-install 設定を false に設定します。

要約

コマンド意味
pnpm i --offlineストアからのみオフラインでインストール
pnpm i --frozen-lockfilepnpm-lock.yaml は更新されない
pnpm i --lockfile-onlypnpm-lock.yaml のみが更新される

オプション

--force

依存関係を強制的に再インストールします。ストアで変更されたパッケージを再度フェッチし、pnpm の非互換バージョンで作成されたロックファイルや modules ディレクトリを再作成します。現在の環境(cpu、os、arch)を満たさない場合でも、すべての optionalDependencies をインストールします。

--offline

  • デフォルト: false
  • タイプ: Boolean

true の場合、pnpm はストアで既に使用可能なパッケージのみを使用します。パッケージがローカルで見つからない場合、インストールは失敗します。

--prefer-offline

  • デフォルト: false
  • タイプ: Boolean

true の場合、キャッシュされたデータの鮮度チェックはバイパスされますが、不足しているデータはサーバーからリクエストされます。完全なオフラインモードを強制するには、--offline を使用します。

--prod, -P

  • デフォルト
    • NODE_ENVproduction の場合: true
    • NODE_ENVproduction でない場合: false
  • タイプ: Boolean

設定した場合、pnpm は NODE_ENV を無視し、代わりにこのブール値を環境の決定に使用します。

true の場合、pnpm は devDependencies にリストされているパッケージをインストールせず、既にインストールされている場合は削除します。false の場合、pnpm は devDependenciesdependencies にリストされているすべてのパッケージをインストールします。

--dev, -D

NODE_ENV に関係なく、devDependencies のみがインストールされ、dependencies は既にインストールされている場合は削除されます。

--no-optional

optionalDependencies はインストールされません。

--lockfile-only

  • デフォルト: false
  • タイプ: Boolean

使用すると、pnpm-lock.yamlpackage.json のみが更新されます。node_modules ディレクトリには何も書き込まれません。

--fix-lockfile

破損したロックファイルエントリを自動的に修正します。

--frozen-lockfile

  • デフォルト
    • 非 CI の場合: false
    • CI の場合: ロックファイルが存在する場合は true
  • タイプ: Boolean

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 の場合: default
    • 非 TTY stdout の場合: append-only
  • タイプ: default, append-only, ndjson, silent

インストール進捗状況に関するデバッグ情報をターミナルに出力するレポーターを選択できます。

  • silent - 致命的なエラーも含め、コンソールに出力はログに記録されません
  • default - stdout が TTY の場合のデフォルトのレポーター
  • append-only - 出力は常に末尾に追加されます。カーソル操作は実行されません
  • ndjson - 最も詳細なレポーター。ndjson形式ですべてのログを出力します

出力する情報の種類を変更する場合は、loglevel 設定を使用してください。

--use-store-server

  • デフォルト: false
  • タイプ: Boolean

バックグラウンドでストアサーバーを起動します。ストアサーバーはインストール完了後も実行され続けます。ストアサーバーを停止するには、pnpm server stop を実行します

--shamefully-hoist

  • デフォルト: false
  • タイプ: Boolean

npmyarn と同様のフラットな node_modules 構造を作成します。警告: これは強く推奨されません。

--ignore-scripts

  • デフォルト: false
  • タイプ: Boolean

プロジェクトの package.json およびその依存関係で定義されたスクリプトを実行しません。

--filter <package_selector>

警告

フィルターは現在 v8 デフォルト設定では正しく機能しません。動作させるには、dedupe-peer-dependentsfalse に明示的に設定する必要があります。詳細と進捗状況については、#6300 を参照してください

フィルタリングの詳細はこちらをご覧ください。

--resolution-only

解決を再実行します。ピア依存関係の問題を出力するのに役立ちます。