npm ci コマンド

https://docs.npmjs.com/cli/ci の翻訳。


このコマンドは npm-install に似ていますが、テストプラットフォームやCIや開発環境といった自動化環境で使われることを意図しています。通常の npm install と比べると、ユーザー指向の機能をスキップして高速に動きます。また、通常のインストールコマンドよりも strict に実行されるため、エラーを捕捉したり、ローカル環境が少しずつインストールされることによっておこる不整合を見つけたりするのに役立ちます。

npm installnpm ci との主な違いをまとめると、以下のとおりです。

  • プロジェクトには package-lock.json または npm-shrinkwrap.json がなければなりません。
  • package lock の依存モジュールが package.json と一致しない場合、npm ci は package lock を更新するのではなくエラーを出して終了します。
  • npm ci は一度にプロジェクト全体をインストールするだけです。個別の依存モジュールはこのコマンドでインストールできません。
  • node_modules がすでに存在する場合、npm ci はインストールを始める前に自動的に削除します。
  • package.json や package lock を書き換えません。インストールは基本的に不変です。