8
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

npmとかyarnとかnpxとかpnpmとかいろんなものが出てきたので知識のアップデートも兼ねて共有します。

【こんな方にオススメ!】
・これまでなんとなくnpmやyarnのコマンドを実行していた人
・これから使いたいけど、どれを使っていいのか迷子な人

記事を読んで理解度を上げてもらえたら大変嬉しいです。

npmとは?

  • Node Package Managerの略で、Node.jsのモジュールを管理するツール
  • Nodeをインストールすると自動で付いてくる
  • package-lock.jsonによってinstallされたnode_modulesが記録されている

バージョン確認

npm -v

初期化(package.jsonが生成される)

npm init

package.jsonに記載されたパッケージを一括でインストール

// package.jsonに記載されている内容を元にnode_modulesをインストールする
npm install

// package-lock.jsonの内容を元にnode_modulesをインストールする
npm ci

package.jsonを直接編集した時には実行が必要です。
見覚えのないエラーが出た場合はいったんinstallし直すことをオススメします!

yarnってなに?

  • npmと互換性があり、npmの時に利用していたpackage.jsonがそのまま利用できる。
  • npmよりも動作が早い
  • yarn.lockによってinstallされたnode_modulesが記録されている

バージョン確認

yarn -v

初期化(package.jsonが生成される)

yarn init

package.jsonに記載されたパッケージを一括でインストール

yarn

yarnの動作が早いのはインストールしたパッケージをキャッシュしているから。
キャッシュされているnpmのリストはyarn cache listで表示されます。
キャッシュをクリアする時は yarn cache cleanで実施できます。

npxってなに?

node package executerでnpmがパッケージを管理するツールに対してパッケージを実行するツールがnpxです。
npmバージョン5.2.0より同梱されているコマンドです。

npxコマンドを利用することで開発環境内パッケージを実行することが可能です!

npx module_name

実行したパッケージがインストールされていなければインストールを勧められます。(v5.2.0以降)

v5.2.0以前はインストールされていないパッケージを実行した場合、終了したら自動で削除されます。

pnpmってなに?

performant npmの略でpnpmだそうです。

最大の特徴は、速さ・容量の節約・厳格さです。
速さは、他のツールに比べて最大2倍速とされています。

npmとyarnでは対応していてもpnpmには標準対応していない場合があるので注意が必要です…

npmはインストールしていなくても依存しているパッケージだった場合アクセスできるのに対して、pnpmはアクセスすることができずエラーになります。

npmでパッケージをインストールせずにimportして利用していた場合、依存パッケージのバージョンアップや依存関係が亡くなった場合にエラーが発生するのを防ぎます。

【まとめ】結局何がいいの?

結局pnpmがいいのでは?と感じる方も多いと思います。
早いし、容量は節約できて、パッケージのインストール関連のエラーも少なさそう。

ただ、個人的にはすぐに乗り換えなくてもいいと考えています。
npmやyarnもpnpmが採用しているnode_modulesの構造を採用しようとしている。
(yarnは既にしている)

現在パッケージ管理や速度が大きな課題になっていないのであれば、一度それぞれのツールの動向を探ってからでも遅くないと考えています。

昨年の記事になりますので少し古いですが参考にしてください。

8
2
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
8
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?