Skip to content

Node.jsとパッケージマネージャ

Node.jsって何?

Node.jsは本来、ブラウザ上で動かすことを想定されているJavaScriptをPCやサーバー上でそのまま動かせるようにしたもの。
Web用のJavaScriptとは違い、ファイルにアクセスできたり、コマンドを実行する機能が追加されている。
バックエンドの開発に使われることが多い。

なぜフロントエンドWeb開発にNode.jsが使われるのか? (naotikiの考え)
現代のWeb開発では、書いたコードをそのままWebサーバーにアップロードするのではなく、コードを圧縮などの変換をしたりしてからアップロードすることが多い。
JavaScriptのコードを変換するには様々なライブラリが必要になるが、そのライブラリを管理するソフトウェアが必要になる。
Node.jsにはJavaScriptのパッケージ(ライブラリ)を管理するためのnpmというパッケージマネージャー(あとで詳しく説明)が付属しているため、フロントエンド開発にも使われるようになった。
また、JavaScriptを変換したり解析するソフトウェアを作るのは他の言語を使っても可能ではあるが、一番簡単で相性がいいのはJavaScriptで書くことである。
そのため、開発環境上でJavaScriptを変換したりするソフトウェアを動かすためにNode.jsを使うようになったと考えられる。

npmとは?

npmはNode.js用のパッケージマネージャー。
要するに、開発に使うライブラリを管理したりするソフトウェア。
Pythonでいうpip、Rubyでいうgemに相当するもの。

npmではプロジェクトごとにパッケージを管理する。
プロジェクトにはpackage.jsonというファイルが作られ、その中に必要なパッケージの情報が書かれる。

pnpm / yarn とは?

npmと一緒でよく出てくるのは、「pnpm」と「yarn」である。
npmのパフォーマンスが悪いという理由で作られたnpmの代替品である。
pnpmもyarnもnpmも内部の仕組みは違うものの、package.jsonを使ってパッケージを管理するので互換性があると言える。

近年npmも改善され、パフォーマンスも劣らなくなったと噂では聞いているが、みんなもうpnpmやyarnを使っているので、npmを使うことは少ない。悲しい・・・

最近の流行りはpnpmであるような気がする。

とりあえず、このウェブサイトではpnpmを使うことを前提に話を進めていく。

pnpm・Node.jsのインストール方法については下の記事を参照