メインコンテンツまでスキップ
Version: Next

pnpm install

エイリアス: i

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

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

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

概要

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

オプション

--force

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

--offline

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

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

--prefer-offline

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

true の場合、キャッシュされたデータの失効チェックは省略されますが、存在しないデータはサーバーから要求されます。 すべてオフラインでやるように強制するには、--offline を使用します。

--prod, -P

  • デフォルト:
    • If NODE_ENV is production: true
    • If NODE_ENV is not production: false
  • Type: Boolean

If set, pnpm will ignore NODE_ENV and instead use this boolean value for determining the environment.

If true, pnpm will not install any package listed in devDependencies and will remove those insofar they were already installed. If false, pnpm will install all packages listed in devDependencies and dependencies.

--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.yamlpackage.json のみが更新されます。 node_modules ディレクトリには書き込まれません。

--fix-lockfile

破損した lockfile の項目を自動的に修正します。

--frozen-lockfile

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

true の場合、 pnpm はロックファイルを生成しません。 lockfile がマニフェストと同期しておらず、更新が必要な場合、またはロックファイルが存在しない場合は、インストールが失敗します。

この設定は、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

Merge all git branch lockfiles. Read more about git branch lockfiles.

--reporter=<name>

  • デフォルト:
    • TTY 標準出力: default
    • TTY 標準出力以外: append-only
  • タイプ: default, append-only, ndjson, silent

インストールの進行状況のデバッグ情報をターミナルにログ出力するレポーターを設定できます。

  • silent - 致命的なエラーも含め、コンソールに何も出力しません。
  • default - 標準出力が 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>

warning

Filter currently does not work properly with v8 default config, you have to implicitly set dedupe-peer-dependents to false to have that work. For more info and progress please refer to #6300

詳細についてはフィルタリングに関するドキュメントを参照してください。

--resolution-only

resolution の再実行: peer dependency の問題を表示するために役立ちます。