npm ci コマンド
https://docs.npmjs.com/cli/ci の翻訳。
このコマンドは npm-install
に似ていますが、テストプラットフォームやCIや開発環境といった自動化環境で使われることを意図しています。通常の npm install
と比べると、ユーザー指向の機能をスキップして高速に動きます。また、通常のインストールコマンドよりも strict に実行されるため、エラーを捕捉したり、ローカル環境が少しずつインストールされることによっておこる不整合を見つけたりするのに役立ちます。
npm install
と npm 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 を書き換えません。インストールは基本的に不変です。