npm i(npm install)
プロジェクトにパッケージをインストールするためのコマンド。
npm iは大きく2つの方法で動作する。
1. 特定のパッケージをインストールする際に使用
$ npm i 'package-name'
特定のパッケージの名前を直接入れてインストールする。
2. package.jsonに明示されているすべてのパッケージをインストールする際に使用
$ npm i
特定のパッケージ名を指定しなかった場合は、package.jsonに明示されているすべてのパッケージをインストールし、node_modulesに保存しておく。
上記の方法の共通点
上記の方法の両方とも、package-lock.jsonの存在をまず確認し、依存しているパッケージ情報を把握してからnode-modulesにインストールする。
また、node-modulesやpackage.jsonに変化があれば、package-lock.jsonを更新する。
npm ci(npm clean install)
$ npm ci
npm ciは、package-lock.jsonに明示されているパッケージ情報をもとに、より正確なバージョンのパッケージをインストールする。
これにより、一つのプロジェクトを複数の開発者が開発する際に、同じバージョンのパッケージをインストールすることができる。
つまり、インストールする際にはpackage-lock.jsonが必要であり、npm iとは違って、package-lock.jsonを修正することはしない。
また、npm ciは、node-modulesが存在している場合、既存のnode-modulesを削除してインストールする。
その際にpackage-lock.jsonとpackage-lock.jsonのバージョンがマッチングされないと、エラーが出る。
使用方法
新しいパッケージをインストールする時
$ npm i 'package-name'を使用して必要なパッケージをインストールする。
レポジトリのプロジェクトをローカルで設定する時
他の開発者と同じ開発環境を構築するため、npm ciをもってpackage-lock.jsonをベースにパッケージをインストールする。
CI/CD環境構築の時
package-lock.jsonを修正せず、ビルドをおこなうため、npm ciを使用する。