基礎知識を徹底的に叩き込もうDAY2🎉(24-25年末年始企画)
前回は「Node.js」について記事を書きました。
年末年始は体調不良であまり作業できずでした🥲挽回します。
今回は代表的な「Node.jsパッケージマネージャー」について調べてみたいと思います。
Node.jsのバージョンがフレームワークと互換性がなく動かないみたいなこと、たまにあると思います。その際に知っておきたい知識かと思います。
Node.jsパッケージマネージャーは何がある?
npm, yarn, pnpm, etc...
今回は、特に使われているであろうnpm、yarnについて調査していきます。
[前提] パッケージとは?
外部から利用することを目的としたクラスや関数を、モジュール(module)と呼びます。それを利用して機能として作られたものをパッケージ(もしくはライブラリ)と呼びます。
RailsでいうGemのイメージ。
npmとは
npmは「Node package manager」の頭文字をとった名称です。その名の通り、Node.jsのパッケージを管理するシステムです。npmを介さずに直接パッケージを使おうとすると、パッケージ間の依存関係や競合関係を開発者自身が修正する必要が発生し、非常に困難です。そのため、パッケージ管理を行ってくれるnpmは不可欠なツールと言えるでしょう。
yarnとは
2010年にnpmがリリースされたのち、2016年にyarnがリリースされました。npmとの互換性が高く、package.jsonファイルからどちらもロックファイルを生成することができます(npmはpackage-lock.json, yarnはyarn.lock)。
yarnの方がインストール速度は速いようです。調べた感じ、それ以外だと両者あまり差は無いように感じました。
まとめ
フロントエンド開発者にとっては、パッケージを利用する上でパッケージマネージャーは必要不可欠な存在です。パッケージを普段ストレスなくインストールしてアプリケーションに組み込むことができているのは、パッケージマネージャーのおかげだったのですね。いつもありがとうございます。
すごいことは分かったのですが、では一体裏ではどうやってパッケージたちを管理しているのかが気になるところです…
次回は、Node.jsの"バージョン"管理について調べられたらと思っています。