
はじめに:Node.jsの環境構築で、未来の自分を救おう
「Node.jsのインストール、とりあえずググったコマンドで済ませていませんか?実はそのやり方、未来のあなたが頭を抱える『環境構築の罠』かもしれません。」
- 「新しいプロジェクトを始めたら、Node.jsのバージョンが古くて動かなかった…」
- 「
sudo
を付けてコマンドを実行したら、後で権限エラー地獄に…」 - 「そもそもHomebrewとnvmって、どっちを使えば正解なの?」
これは、多くのジュニアエンジニアが通る道です。しかし、ご安心ください。この記事を最後まで読めば、あなたは二度とNode.jsの環境構築で迷わなくなり、自信を持って開発をスタートできるようになります。
結論:ほとんどの場合「nvm」があなたの最強の相棒になる
先に結論からお伝えします。macOSでNode.jsを扱うなら、バージョン管理ツール「nvm」を使いましょう。
理由はシンプルで、複数のプロジェクトを扱うようになると、プロジェクトごとに異なるNode.jsのバージョンを切り替える必要が必ず出てくるからです。nvm
はその手間を最も簡単かつ安全に解決してくれます。
実際に、Node.jsの公式サイトでも、OS標準のパッケージマネージャでインストールするよりもnvm
のようなバージョンマネージャの利用を推奨しており、これが現在のグローバルスタンダードな手法と言えます。
では、なぜそう言えるのか、他の方法と比較しながら見ていきましょう。
なぜ「nvm」なのか?インストール方法の比較
Node.jsのインストール方法は、大きく以下の2つがあります。
複数のNode.jsバージョンを扱う場合はnvm、単一のバージョン環境で十分な場合はHomebrewを使うのがお薦めです。
インストール方法の比較表を記載しますので、参考にしてください。
基準 | Homebrew | nvm |
---|---|---|
複数バージョン管理 | 難しい(アンインストールすると全て消える) | 簡単(任意のバージョンを切り替え) |
インストール手順 | シンプル(brew install node ) | 少し複雑だが一度設定すれば便利 |
開発環境 | 単一バージョンで十分な場合 | 複数プロジェクトを扱う場合 |
更新方法 | brew upgrade node | nvm install --lts && nvm alias default lts/* |
記事の概要
このガイドでは、macOS Sequoia環境でNode.jsを始めるための手順やベストプラクティスを徹底的に解説します。初心者でも分かりやすいように、導入手順から実践的な使用例まで網羅しています。
今回の記事の対象者
- macOS Sequoia を利用している開発者
- Node.js のインストール方法を知りたい初心者
- Homebrew や nvm を使った Node.js のバージョン管理に興味がある方
もくじ
- 1. Node.js とは?
- 2. Node.jsインストールの必要条件
- 3. 事前準備
- 4. Node.jsのインストール(nvm版)
- 5. プロジェクト別 Node バージョンの固定
- 6. グローバルパッケージのインストール
- 7. Node.js関連ツールの比較
- 8. macOS Sequoia でよく起きる問題と対策
- 9. (参考)Homebrewを使ったインストール
- 10. サンプルプロジェクト構成
- 11. nvmのアップグレード&アンインストール
- 12. 参考資料
- 13. まとめ
1. Node.js とは?
Node.js は Chrome の V8 エンジンを利用した JavaScript 実行環境です。
ブラウザ外で JavaScript を実行できるため、
Node.jsは、サーバーサイドでJavaScriptを実行するためのクロスプラットフォームのランタイム環境です。GoogleのV8 JavaScriptエンジン(Chromeブラウザで使用されているもの)をベースに開発されており、以下の特徴があります:
- 非同期I/O処理:ディスクやネットワークアクセスをブロックせずに並行処理が可能
- イベント駆動アーキテクチャ:単一スレッドで効率的に多数のリクエストを処理
- 豊富な標準ライブラリ:HTTPサーバー、ファイル処理、暗号化などが組み込まれている
- npm ecosystem:世界最大のパッケージ管理リポジトリ(約200万件以上のパッケージ)
以下のような用途に使われます。
カテゴリ | 典型的なユースケース |
---|---|
Web サーバ | Express, Koa, NestJS など |
CLI ツール | Yarn, Prettier, ESLint など |
デスクトップアプリ | Electron, Tauri など |
IoT / エッジ | ホームオートメーションスクリプト、マイクロコントローラ |
macOS Sequoia で Node を使う理由
- セキュリティ:Apple Silicon搭載のMacではネイティブなパフォーマンスとセキュリティ機能が提供されます。
- シームレスな統合:macOSのターミナルとHomebrewなどのツールとの相性が良い
- Homebrew + nvm で プロジェクトごとに Node バージョンを切り替え 可能で、Nodeで動作する豊富なツールが利用できます。
2. Node.jsインストールの必要条件
項目 | 理由 |
---|---|
Xcode Command Line Tools | clang 、make 、SDK ヘッダーが必要。 |
Homebrew | macOS で最も簡単に Node とその依存パッケージをインストール。 |
インターネット接続 | GitHub・npm からパッケージを取得。 |
⚠️ 注意 – 社内ネットワークの場合、
curl
・git
・HTTPS(ポート 443)が許可されているか確認してください。
3. 事前準備
Xcode Command Line Toolsのインストール(未導入時)
Node.jsをインストールする前に、開発環境として必要なツールをインストールします。
xcode-select --install
ダイアログが表示されるので「Install」をクリックし、完了まで待ちます。
Xcode Command Line Toolsインストールの詳細は、以下の記事をご覧ください。
Homebrew のインストール(未導入時)
HomebrewはmacOS用のパッケージ管理システムです。nvmをインストールするために先に導入しておきましょう。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Homebrew が行うこと
/opt/homebrew
(Apple‑Silicon)または/usr/local/Cellar
(Intel)にパッケージをインストールできるようにします。
Homwbrewインストールの詳細は、以下の記事をご覧ください。
導入に当たっての注意点
セキュリティに関する注意事項
- 常にLTS版を使用:最新版は新機能が多いものの、安定性やセキュリティフィックスが遅れる場合があります
- 権限の問題を避ける:
sudo npm install -g
は絶対にしないでください。これはシステムのディレクトリにパッケージを書き込むため、予期せぬパーミッションの問題やセキュリティリスクを引き起こす原因となります。npmの公式ドキュメントでも、この問題を避けるための方法としてバージョンマネージャの使用が第一に挙げられています。グローバルインストールはnvm
が管理する安全な領域に行いましょう。 - 定期的な更新:
brew upgrade node
またはnvm install --lts
でセキュリティフィックスを適用してください
環境設定のトラブルシューティング
- nvmが認識されない場合:
~/.zshrc
または~/.bashrc
に以下の行が追加されているか確認してください
export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
- PATHの問題:ターミナルで
echo $PATH
を実行し、Node.jsのインストールパスが含まれているか確認してください - macOS Sequoiaのセキュリティ設定:App Store外のアプリを実行する場合は、「システム設定」>「セキュリティとプライバシー」で許可を与えてください
4. Node.jsのインストール(nvm版)
nvm (Node Version Manager) のインストール
まず、バージョン管理ツールであるnvmをインストールします。複数のNode.jsバージョンを切り替える必要がある場合に必須のツールです。
# cURLを使ってnvmの公式インストールスクリプトをダウンロードし、そのまま実行します
# (v0.40.3は記事執筆時点の安定版です。最新版はnvmのGitHubリポジトリで確認することをお勧めします)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
シェルの環境変数を再読み込みします。
# インストールスクリプトによって追記された設定を現在のターミナルに反映させます
# (ターミナルを再起動するのと同じ効果です)
source ~/.zshrc # zshユーザーの場合
# source ~/.bashrc # bashユーザーの場合
nvm を使った Node.js のインストール
nvmが準備できたら、いよいよNode.jsをインストールします。
# インストール可能なNode.jsの全バージョンを一覧表示します
nvm ls-remote
# 最新のLTS版(v22系統)をインストールします
nvm install 22
# (推奨)常に最新のLTS版をインストールする場合は、以下のコマンドが便利です
# nvm install --lts
# このターミナルセッションで使うバージョンをv22に指定します
nvm use 22
# 新しくターミナルを開いたときに、デフォルトでv22が使われるように設定します
nvm alias default 22
確認コマンド:
node -v # 例: v22.10.0
npm -v # 例: 10.7.0
nvmの便利機能
.nvmrc
ファイルをプロジェクトディレクトリに配置すると、cd
した時点で自動的に対応バージョンが選択されます。nvm ls
でインストール済みのバージョン一覧を表示できます。nvm uninstall 18
で不要なバージョンを削除できます。
よく使うコマンド
これらのコマンドは、nvmを使ったNode.jsのパッケージ管理で利用します。それぞれのコマンドの役割を把握しておきましょう。
コマンド | 役割 |
---|---|
nvm install <バージョン> | 指定した Node バージョンをインストール |
nvm use <バージョン> | 現在のシェルでそのバージョンを使用 |
nvm ls | インストール済みの Node バージョン一覧 |
nvm alias default <バージョン> | 新しいシェルでデフォルトに設定 |
5. プロジェクト別 Node バージョンの固定
プロジェクトルートに 以下の内容で.nvmrc
ファイルを作成します。
最新のLTSを使う場合:
lts/*
または具体的なバージョンを指定する場合:
22.10.0
次に実行します。
nvm use # .nvmrc を自動で読み込む
ポイント
各プロジェクトがビルド・テストに使用した Node バージョンを固定でき、works-on-my-machine
(「自分の環境でしか動かない!」)の問題が防げます。
6. グローバルパッケージのインストール
Node が準備できたら npm でグローバルパッケージをインストールします。
npm i -g yarn # 例:Yarn パッケージマネージャ
npm i -g eslint # Lint ツール
ベストプラクティス – グローバルインストールは最小限に。代わりに
npx
やプロジェクト内のnode_modules/.bin
を使うと良いです。
7. Node.js関連ツールの比較
Homebrew
や nvm
はとても便利で人気がありますが、他にも同じような役割を持つツールがいくつかあります。
以下の表に「代替ツール」を示します。
ツール | 用途 | 選ぶべきケース |
---|---|---|
n(Node binary manager) | Node.jsのバージョンを切り替えるためのシンプルなツール。 | nvmよりもさらにシンプルにNode.jsのバージョンを管理したいとき。 |
asdf(マルチランゲージバージョン管理) | Node.jsだけでなく、PythonやRubyなど複数のプログラミング言語のバージョンを一元的に管理するツール。 | 複数のプログラミング言語を使用するプロジェクトを扱うチームや、複数の言語のバージョン管理を一元化したい場合。 |
Volta(JavaScript ツールチェーン管理) | Node.js、npm、Yarn、pnpmといったJavaScript関連ツールチェーンをプロジェクトごとに管理し、自動的に適切なバージョンを適用するツール。 | プロジェクト間でツールチェーンのバージョンを統一し、開発環境のセットアップを簡素化したい場合。 |
Yarn | Facebookが開発した高速なパッケージ管理ツール。依存関係の解決が高速で、ロックファイル(yarn.lock )による再現性が高い。 | 依存関係の管理を高速化し、プロジェクトの再現性を高めたい場合。特に大規模プロジェクトで有効。 |
pnpm | パフォーマンスとディスク効率に重点を置いたパッケージ管理ツール。依存関係を共有することでディスク使用量を減らす。 | ディスク容量を節約し、インストール時間を短縮したい場合。モノレポ環境での利用にも適している。 |
【編集長コラム】ツールを身近なものに例えると…?
- Homebrew: 「街に一つしかない、みんなで使う公民館のようなもの。手軽だけど、催し物(プロジェクト)ごとに内装(バージョン)を変えるのは大変。」
- nvm: 「用途ごとに部屋を借りられるシェアオフィス。プロジェクトAでは会議室(v22)、プロジェクトBでは集中ブース(v20)と、自由に環境を切り替えられる。」
- asdf: 「プログラミング言語という名のレストランが全て入った巨大なフードコート。Node.jsだけでなく、PythonやRubyの席も自由に行き来できる。」
- Volta: 「入室しただけで部屋(プロジェクト)に最適な空調(ツールチェイン)が自動で設定されるスマートハウス。一度設定すれば、あとは何も意識しなくていい。」
8. macOS Sequoia でよく起きる問題と対策
エラーメッセージ | 原因 | 解決方法 |
---|---|---|
command not found: node | Node.jsがインストールされていないかPATHが設定されていない | Homebrewまたはnvmを使ってインストールし直す |
npm ERR! code EACCES | 権限エラー(sudoを使っていないにもかかわらず) | グローバルインストールは避け、プロジェクト内でnpm install を使用 |
nvm: command not found | nvmの設定ファイルが読み込まれていない | source ~/.zshrc を実行し、~/.zshrcにnvmの設定があるか確認 |
gyp ERR! stack Error: Can\'t find Python executable "python" | Node.jsのネイティブアドオンをインストールするためにPythonが必要 | brew install python でPythonをインストール |
9. (参考)Homebrewを使ったインストール
単独のNode.jsバージョンを利用する場合や、何らかの理由でnvmを使わない場合は、Homebrewから直接インストールすることも可能です。
# LTS(Long-Term Support)版をインストール(安定性重視)
brew install node@22<br><br># インストール確認(バージョン情報が表示される)
node -v # v22.x.xが表示されるはず
npm -v # 付属のパッケージ管理ツールnpmのバージョン
実際の実行結果を以下に示します。(2025/08/31時点)
xxx ~ % node -v
v22.10.0
xxx ~ % npm -v
10.7.0
Node.jsをHomebrewで最新版にアップデートする方法は、以下の通りです。
# Node.jsを最新LTS版に更新
brew upgrade node
# 全てのHomebrew管理パッケージを更新
brew update && brew upgrade
Homebrew管理パッケージの更新と、Node.jsアップデートの実行結果を以下に示します。既に、最新版の場合は、以下のメッセージが表示されます。(2025/08/31時点)
xxx ~ % brew update
==> **Updating Homebrew...**
Already up-to-date.
xxx ~ % brew upgrade node
Warning: node 22.10.0 already installed
10. サンプルプロジェクト構成
# 新規プロジェクト作成
mkdir my-node-app && cd my-node-app
# git 初期化(任意)
git init
# .nvmrc に LTS バージョンを設定
echo "lts/*" > .nvmrc
# 依存パッケージをインストール
npm init -y # または pnpm init
npm install express # 例: Express
# サーバ起動
node index.js
Tip –
package.json
にstart
スクリプトを追加すると便利です。"scripts": { "start": "node index.js" }
その後npm start
で起動。
11. nvmのアップグレード&アンインストール
nvmのアップグレード
git` を使って手動でアップグレードする場合(git v1.7.10+が必要):
$NVM_DIR
に移動します。- 最新の変更をプルします。
- 最新バージョンをチェックアウトします。
- 新しいバージョンをアクティブ化します。
(
cd "$NVM_DIR"
git fetch --tags origin
git checkout `git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1)`
) && \. "$NVM_DIR/nvm.sh"
nvmのアンインストール
nvm` を手動で削除するには、以下を実行します。
まず、nvm unload
を使ってターミナルセッションからnvmコマンドを削除し、インストールディレクトリを削除します。
$ nvm_dir="${NVM_DIR:-~/.nvm}"
$ nvm unload
$ rm -rf "$nvm_dir"
~/.zprofile`(または他のシェルリソース設定ファイル)を編集し、以下の行を削除します。
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
12. 参考資料
リソース | 内容 |
---|---|
Node.js Docs | Node.js 公式 API リファレンス |
Homebrew Docs | Homebrewの高度なインストール・トラブルシューティング |
nvm GitHub Repo | nvmのソース・Issue・PR |
npm Docs | npmパッケージ公開・スクリプト |
Node.js Release Schedule | Node.jsのLTS と Current の違い、廃止予定 |
Sequoia Release Notes | macOS 固有の変更点 |
13. まとめ:最強の武器を手に入れたあなたへ
このガイドを通じて、あなたはmacOS SequoiaでNode.jsを効率的かつ安全に管理するための知識とツールを手に入れました。
- 最重要ポイント: プロジェクトごとにバージョンを切り替えられる
nvm
を使おう! - 鉄則:
sudo npm install -g
は絶対に避けよう! - 習慣: 定期的に
nvm install --lts
で最新の安定版に更新しよう!
さあ、環境構築という最初の関門はクリアです!
本記事をご利用いただくにあたって
この記事は、公開時点(2025年9月)の情報に基づき、正確な情報を提供するよう努めています。
しかし、本記事で解説するソフトウェアやサービスの仕様は日々更新されるため、記事内で紹介している画面や手順が、ご覧いただいている時点では変更されている可能性があります。
もし内容に相違がある場合は、各サービスの最新の公式ドキュメントも併せてご参照ください。本記事の情報を利用される際は、ご自身の判断と責任においてお願いいたします。