JavaScriptを利用したプロジェクトの開発環境を構築する際、npmやyarnといったパッケージ管理ツールは利用したことがあるでしょう。
今回紹介するpnpmもまた、JavaScriptのパッケージ管理ツールです。
npmやyarnよりも後発ということもあり、素晴らしいメリットがあるパッケージ管理ツールとなっています。
ぜひこの機会に触ってみましょう。
pnpmは、2015年から運用が開始されているOSSのパッケージ管理ツールです。
公式が「npmより2倍速い」と謳っていることもあり、実際にパッケージインストールが体感できるほど速いです。
Yarn v3はさらに速い、というデータもありますが、PnP(Plug'n'Play)という仕組みを使っているおり、これは構造が従来のnpmの比較するには異なる点が多いため省きます。従来のnode_modules
を作るパッケージ管理の中で速いツール、という覚え方で問題ありません。
pnpmのメリットを一覧にすると以下のようになります。
node_modules
配下に間接的に依存関係のあるパッケージまでインストールせず、シンボリックリンクによって制御されます。公式ドキュメントを参考にするのが最も良いでしょう。
ただ、自分の環境では以下のようなエラーが出てしまったため、npm
を使ったインストールを行いました。
npm
でインストールする場合はこちら。
なお、試しにバージョン指定するとダウンロードが始まったので、環境によってはバージョンを指定しても良いでしょう。
以下のようにバージョンが返ってくれば成功です。
基本的にnpm
やyarn
とあまり違いはありません。
試しに、Next.jsプロジェクトを立ち上げてみます。
yarn
と同じく、以下のコマンドでNext.jsをインストールできます。(create-next-app
ではなく、create next-app
であることに注意)
以下の画像のように、依存関係を解決しながらインストールが進んでいく様子が見てわかります。Next.jsはnpm
、yarn
どちらであっても大差ありませんが、重いパッケージや多くのパッケージをインストールする際に恩恵を受けられるでしょう。
最近ほとんどのプロジェクトでpnpm
を使うようになりましたが、今のところデメリットを感じていません。
もともとnpm
やyarn
を使っていたのであれば、難なく導入できるでしょう。
強く移行を進めるほどではありませんが、npm
を使い続けていて「なんだか重いなぁ」と感じている方がいたら、ぜひpnpm
を試してみてください。