パッケージマネージャーを npm に移行するときには `npm install --package-lock-only` コマンドを使うとよい
既存のプロジェクトで npm に移行する際に `npm install --package-lock-only` を使うことで、依存パッケージのバージョンを変更することなく lock ファイルを移行できます。
既存のプロジェクトでパッケージマネージャーを移行する時に問題になるのが lock ファイルの互換性です。現在 JavaScript の主要なパッケージマネージャーには npm, yarn, pnpm がありますが、それぞれが独自の lock ファイルを持っています。
そのため、例えば yarn から npm に移行する場合、lock ファイルを削除して npm install
すると、依存パッケージのバージョンが変わってしまう可能性があります。
yarn と pnpm にはそれぞれ yarn import と pnpm import というコマンドがあり、これを使うと lock ファイルを移行できます。
npm においては同等のコマンドとして --package-lock-only オプションが用意されています。このオプションは npm install
時に lock ファイルを更新するだけで、依存パッケージのインストールは行いません。つまり、現在の node_modules
の状態に応じて pakcage-lock.json
を生成してくれるのです。
npm install --package-lock-only
これにより、既存のプロジェクトで npm に移行する際にも、依存パッケージのバージョンを変更することなく lock ファイルを移行できます。