15
3

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 3 years have passed since last update.

【Node.js】npmとyarnの違い

Last updated at Posted at 2021-07-07

#Node.jsとは
 Node.jsはサーバーサイドで動くJavaScript。Node.jsに関しては以前の記事で詳しく扱ってる。

 以前はずっとnpmを使っていたが、最近yarnを知ったのでnpmとの違いについてまとめる。(間違い等ありましたら、コメントいただけると幸いです。)

##パッケージマネージャーとは
 パッケージマネージャーは、どのソフトウェアがインストールされたのを記録して、新しいソフトウェアのインストール・新しいバージョンのソフトウェアの更新・インストールしたソフトウェアの削除を簡単に行えるプログラム。

#npmとは
 Node Package Managerの略で、JavaScriptパッケージマネージャー。Node.jsで作られたパッケージやライブラリを管理するためのツール。npmというコマンドで動作するプログラム。

 npmにはインストールしたときのパッケージのバージョンの非再現性や、パフォーマンス・セキュリティの問題がある。この問題を解決するために生まれたのがyarn。

#yarnとは
 npmの後に登場したJavaScriptのパッケージマネージャー。npmの上位互換のツールになっている。npmとの互換性があり、packagejsonがそのまま使える。(package.jsonについてはこちらの記事で詳しく扱ってる)

#npmとyarnの違い
 npmとyarnを比較すると、主に3つの点でyarnの方が優れている。

##1. インストール速度の高速化
 npmよりもyarnの方が早い。npmもアップデートされていくため、差は縮まっているもののyarnの方が高速。

##2. 高いセキュリティ
 yarnはライブラリの整合性のチェックを行う。

##3. バージョンの管理が行いやすい
 yarnにしかない機能もある。それがupgrade-interactiveで、アップデートできるパッケージを表示してくれる。

コマンド
$ yarn upgrade-interactive

 また、yarn.lockファイルでバージョンの違いの依存プログラム・パッケージのインストールが起こらないようになっている。現在ではyarn.lockと同じ機能を持つpackage-lock.jsonがあるのでnpmでも変わらない。

#参考文献
パッケージマネージャとは
npmとyarnとpnpmの違い2021
【JS】yarnの長所とyarnからnpmに戻ってきた理由

15
3
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
15
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?