1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

なぜ pnpm は人気なのか? npm との違いを分かりやすく解説

1
Last updated at Posted at 2026-02-11

はじめに

みなさんは npm installpnpm install、どちらを普段使っていますか?
「なんとなく npm を使っている」という方も多いかもしれませんが、実はこの選択一つで、開発スピードと PC の空き容量が劇的に変わります。

今回は、そもそもこれらが何者なのか、そしてなぜ今 pnpm が選ばれているのかを解説します。

そもそも pnpm と npm って何?

npm / pnpm は、どちらも JavaScript / Node.js のパッケージマネージャーです。
私達は開発する際、自分で全てのコードを書くわけではありません。世界中のエンジニアが作った便利な部品(パッケージ)をダウンロードして使います。
つまり、npm / pnpm は、プロジェクトで使うライブラリをインストールしたり管理したりするためのツールです。

npm / pnpmの役割:

  • 必要な部品をインターネットから探してくる(install
  • プロジェクトのフォルダ(node_modules)に並べる
  • 部品同士の相性(バージョン)を管理する

npm(エヌピーエム)

Node Package Manager の略で、最も歴史が長く、Node.js に最初から付いてくる標準的なツールです。

  • 特徴:
    Node.jsをインストールすると最初から入っています。
  • 仕組み:
    プロジェクトごとに、必要な部品を全てゼロからダウンロードして node_modules フォルダに詰め込みます。
  • 弱点:
    プロジェクトが10個あれば、同じライブラリも10回分保存されるため、PCの容量をめちゃくちゃ食います。 また、インストールが少し遅いです。

pnpm(ピーエヌピーエム)

Performant npm(効率的なnpm)の略。後から登場した、npm の代わりに使える高速パッケージマネージャーです。

  • 特徴:
    速さ」と「節約」に特化しています。
  • 仕組み(ここがすごい!):
    PC内の「共通倉庫」に部品を1回だけ保存し、各プロジェクトにはそこへの「ショートカット」だけを置きます。
  • 利点:
    同じ部品なら、2回目以降のインストールは瞬きする間に終わります。
    PCの容量をほとんど使いません。
    npm では「本当はインストールしていないのに、なぜか使えてしまう(幽霊依存)」というバグが起きがちですが、pnpm はそれを許さないので、本番環境で「動かない!」というトラブルを防げます

どう使い分ける?

基本的には 「プロジェクトの最初に決めたもの」 を使い続けるのが鉄則です。

pnpm-lock.yaml がある場合: 迷わず pnpm install

package-lock.json がある場合: npm install

どちらもない(新規)場合: pnpm install

⚠️注意点
もし GitHub からクローンしたリポジトリに pnpm-lock.yaml が入っていたら、その作者は pnpm を想定しています。そこで npm install をしてしまうと、依存関係がぐちゃぐちゃになることがあるので注意してください。

まとめ

pnpmはインストール速度の向上はもちろん、node_modules でディスクを圧迫しないのが最大のメリットです。もう node_modules の肥大化に悩みたくないなら、今すぐ pnpm を入れましょう。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?