はじめに
この記事は、 npm (または yarn)を使用しているプロジェクトを pnpm に移行するための具体的な手順を備忘録としてまとめたもの。
なぜ pnpm に移行するのか
pnpm への移行は今更感があるが実施した。
pnpm の優れている点、メリット等は様々な場所で触れられているので省略する。
今回移行を決断した理由は以下。
- workspace を使用したかった
- モノレポでバージョン違いのパッケージを使用したい。厳格な依存管理をしたい
- パッケージインストールの時間が長くなった
移行手順
pnpm の install
homwbrew を使っても良いが、 今回は volta を使っている project だったので volta 経由でセットアップを行う。
Project の状態に応じてこのあたりは臨機応変に対応してほしい。
volta install pnpm
lock ファイルを移行
プロジェクトのルートディレクトリで以下のコマンドを実行。
実行後 pnpm-lock.yaml が生成されていることを確認。
pnpm import
node_modules, lock ファイル の削除
pnpm はプロジェクトルートの node_modules を参照しない。
node_modules を削除する。
rm -rf node_modules package-lock.json
パッケージのインストール
pnpm install を実行してパッケージを install する。
pnpm install
script, CI/CD の変更
package.json に記載している script を確認し移行の必要があれば変更する。
CI/CD 用の workflow ファイルの install 処理も変更する。
Ref