メインコンテンツまでスキップ
Version: 8.x

pnpm install

エイリアス: i

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

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

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

TL;DR

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

Options

--force

依存関係の強制再インストール: ストアで変更されたパッケージを再取得し、互換性のないバージョンの 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は、環境変数NODE_ENVがproductionに設定されている場合、 devDependenciesにリストされているパッケージはインストールせず、既にインストールされている場合に限り削除します。 このフラグを指定すると、pnpm は NODE_ENV 環境変数の設定を無視して production 環境として実行します。

--dev, -D

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

--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

Allows you to choose the reporter that will log debug info to the terminal about the installation progress.

  • silent - 致命的なエラーも含め、コンソールに何も出力しません。
  • default - 標準出力が TTY であるときのデフォルトのレポーターです。
  • append-only - 出力を常に最後に加えていく。 カーソル操作を行いません。
  • ndjson - 最も詳細なレポーター。 ndjson フォーマットですべてのログを出力します。

If you want to change what type of information is printed, use the loglevel setting.

--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

Creates a flat node_modules structure, similar to that of npm or yarn. WARNING: This is highly discouraged.

--ignore-scripts

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

Do not execute any scripts defined in the project package.json and its dependencies.

--filter <package_selector>

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

--resolution-only

追加されたバージョン:v8.3.0

Re-runs resolution: useful for printing out peer dependency issues.