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

Node.js インストール方法の比較まとめ

2
Posted at

はじめまして、42Tokyo所属のkharuyaです🙇
普段は学校で低レイヤの学習をしていますが、最近は基礎知識がついてきたのでモダンな言語にも取り組んでいきたいと思い、Node.jsの学習を始めました。
これからは低レイヤの内容も取り上げつつ、Node.jsの言語習得までの過程を投稿していければと思いますので、フォローやコメントいただけると、大変嬉しいです☺️
さて、初投稿の記事は「Node.jsのインストール方法の比較まとめ」です✨

Node.js インストール方法の比較まとめ

Node.jsのインストール方法は、主に以下の3つのルートに分類されます。

1. バージョン管理ツール (Version Managers) 【推奨】

専用の管理ソフトを先に導入し、そのソフト経由でNode.jsをインストールする方法です。

  • 主なツール: fnm (Rust製で爆速), nvm (歴史が長い), Volta, asdf
  • 特徴:
    • 複数バージョンの共存: 「プロジェクトAはv18、Bはv22」といった使い分けが容易。
    • 環境のクリーン化: システム領域を汚さず、ユーザーディレクトリ内で完結する。
    • 自動切り替え: ディレクトリを移動するだけでNodeのバージョンを自動で変更可能。
  • 向いている人: プログラミング学習者、現役エンジニア全般。

2. OSのパッケージマネージャー (OS Package Managers)

OS全体のソフトウェアを一括管理するツールを使ってインストールする方法です。

  • 主なツール: Homebrew (macOS), apt (Linux), Chocolatey (Windows)
  • 特徴:
    • 手軽さ: brew install node 等のコマンド一発で導入・更新ができる。
    • 一括管理: 他の開発ツール(GitやDBなど)と同じ場所で管理できる。
  • デメリット: 基本的に「最新版が1つだけ」インストールされるため、古いバージョンの維持が難しい。
  • 向いている人: 特定のツールを動かすためにNodeが必要な人、サーバー管理。

3. 公式サイトのインストーラー (Direct Binary / Installer)

Node.js公式サイトからファイルをダウンロードして実行する方法です。

  • ファイル形式: .pkg (macOS), .msi (Windows)
  • 特徴:
    • 直感的: ブラウザでダウンロードしてダブルクリックするだけなので簡単。
  • デメリット:
    • 管理が困難: アンインストール時にファイルがシステム各所に残りやすい。
    • 権限問題: npm install -g を実行する際に権限エラー(EACCES)が発生しやすい。
  • 向いている人: 非エンジニア、一時的にNode.jsを試したいだけの人。

比較表

項目 バージョン管理ツール (fnm/nvm) パッケージマネージャー (brew) 公式インストーラー
難易度 中(初期設定が必要)
複数バージョンの共存 可能(得意) 不可(基本1つ) 不可
アップデート コマンドで即座に完了 コマンドで完了 再ダウンロードが必要
現場での採用率 ほぼ100% 一部 ほぼゼロ

結論

開発者として学習を進めるなら、「バージョン管理ツール(fnmなど)」 を利用するのがベストプラクティスです。次投稿以降でNodeのインストール手順を紹介しますが、以上の理由を踏まえてバージョン管理ツールを利用する方針でインストールします。

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