技術(非IT系)

Node.jsのバージョン管理はMacでどうする?(nvm:Homebrew:切り替え方法:確認コマンドなど)

当サイトでは記事内に広告を含みます

Macで開発をしていると、プロジェクトごとに必要なNode.jsのバージョンが異なる場面によく遭遇します。

あるプロジェクトではNode.js18系が必須なのに、別のプロジェクトでは20系でないと動かないというケースも珍しくありません。

そんなときに役立つのが、nvmやHomebrewといったバージョン管理の仕組みです。

とはいえ、どちらを使えばいいのか、切り替え方法や確認コマンドはどう打つのか、迷ってしまう方も多いのではないでしょうか。

本記事ではNode.jsのバージョン管理をMacでどう行うかについて、nvmとHomebrewそれぞれの特徴から具体的な切り替え手順、確認コマンドまで詳しく解説していきます。

Node.jsのバージョン管理はMacでどうするか、という疑問を抱えている方にとって、実務でそのまま使える内容を目指しました。

これからNode.jsの環境構築を見直したい方は、ぜひ最後まで読んでみてください。

結論としてMacでのNode.jsバージョン管理はnvmが最もおすすめです

それではまず、Node.jsのバージョン管理はMacでどうするのが正解なのかという結論から解説していきます。

先に結論を伝えると、Macで複数のNode.jsバージョンを使い分けたいならnvmでの管理が最もおすすめです。

Homebrewでもインストールは可能ですが、バージョンの切り替えという観点では役割が異なります。

ここではnvmの基本と、なぜHomebrewより優れているのかを見ていきます。

nvmとは何か

nvmはNode Version Managerの略で、Node.jsのバージョンを複数インストールし、必要に応じて切り替えられるツールです。

グローバルにひとつだけNode.jsを入れる方式とは違い、プロジェクトごとに異なるバージョンを共存させられます。

コマンド一つでバージョンを切り替えられる手軽さが、多くの開発者に選ばれている理由でしょう。

Homebrewでの管理との違い

Homebrewはパッケージマネージャーであり、Node.js専用のツールではありません。

brew install nodeとすれば最新の安定版が一つ入りますが、複数バージョンの切り替えを前提とした設計ではないのです。

つまりHomebrewは導入のしやすさに強みがあり、nvmは柔軟な切り替えに強みがあるという違いがあります。

なぜnvmがおすすめなのか

プロジェクトAではNode.js18、プロジェクトBではNode.js20を使うといった状況は、実務では日常的に発生します。

このような場面でHomebrewだけで対応しようとすると、都度アンインストールと再インストールを繰り返す必要が出てきます。

これは非効率であり、バージョン不一致による不具合の原因にもなりやすいでしょう。

複数プロジェクトを並行して開発する方や、チームで開発環境を揃えたい方は、迷わずnvmを導入するのが安全です。

Homebrewでインストール済みのNode.jsがある場合は、競合を避けるために事前にアンインストールしておくことをおすすめします。

Homebrewを使ったNode.jsバージョン管理の特徴

続いては、Homebrewを使ったNode.jsバージョン管理の特徴を確認していきます。

nvmがおすすめとはいえ、Homebrewにも簡単さという明確なメリットがあります。

どんな場面でHomebrewが向いているのか、順番に見ていきましょう。

Homebrewとはそもそも何か

HomebrewはMac用の代表的なパッケージマネージャーで、コマンド一つで様々なソフトウェアを導入できる仕組みです。

すでにHomebrewを使っている方であれば、Node.jsも同じ流れで導入できるという安心感があります。

Gitやその他の開発ツールと合わせて一元管理したい方には向いているでしょう。

Homebrewを使ったNode.jsのインストール手順

手順自体は非常にシンプルで、ターミナルでコマンドを打つだけで完了します。

brew install node

brew upgrade node(既にインストール済みの場合の更新コマンド)

node -v(インストール後のバージョン確認コマンド)

このように数行のコマンドだけで、Node.jsの導入から確認までが完結します。

Homebrew管理の注意点

Homebrewでのインストールには、いくつか気をつけたい点があります。

一つ目は、brew upgradeを実行すると既存のバージョンが上書きされてしまう点です。

二つ目は、古いバージョンに戻したい場合の手順がやや複雑になりやすい点でしょう。

そのため、頻繁にバージョンを切り替える必要がある方には、Homebrew単体での運用はあまり向いていません。

nvmを使ったNode.jsのインストール方法

続いては、nvmを使ったNode.jsのインストール方法を確認していきます。

導入自体はそれほど難しくありませんが、いくつかの下準備を押さえておくとスムーズです。

ここでは準備からインストール、確認までを順に解説していきます。

nvm導入前に準備しておきたいこと

まず、Homebrewで既にNode.jsをインストールしている場合は、競合を避けるためにアンインストールしておきましょう。

次に、ターミナルでどのシェルを使っているか(zshかbashか)を確認しておくと後の設定がスムーズです。

Macの標準ターミナルであれば、多くの場合zshが使われているはずです。

nvmのインストール手順

nvm本体は、公式のインストールスクリプトを実行することで導入できます。

curl -o- https //raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

source ~/.zshrc(インストール後にシェルの設定を反映させるコマンド)

スクリプト実行後は、ターミナルを再起動するか、設定ファイルを読み込み直すことを忘れないようにしましょう。

これを忘れると、nvmコマンドが認識されないというトラブルにつながりやすいです。

インストール後に行う確認作業

インストールが完了したら、正しく認識されているかを確認します。

nvm –version

バージョン番号が表示されれば、nvm自体のセットアップは無事に完了したと言えるでしょう。

表示されない場合は、パスの設定やシェルの再読み込みを見直してみてください。

nvmでNode.jsのバージョンを切り替える方法

続いては、nvmを使った実際のバージョン切り替え方法を確認していきます。

ここがnvmの一番の魅力であり、覚えておくと開発効率が大きく変わる部分です。

主に使うコマンドは三つだけなので、ひとつずつ見ていきましょう。

nvm installコマンドで新しいバージョンを追加する

新しいバージョンのNode.jsを使いたいときは、まずインストールが必要です。

nvm install 20(Node.js20系をインストールする場合)

nvm install –lts(最新の安定版LTSをインストールする場合)

このコマンドを実行すると、既存のバージョンとは別に新しいバージョンが追加される仕組みです。

既にインストール済みのバージョンは上書きされないので、安心して試せます。

nvm useコマンドでバージョンを切り替える

インストールしたバージョンを実際に使うには、nvm useコマンドを使います。

nvm use 18

nvm use 20

このコマンドを打つだけで、そのターミナルセッションで使われるNode.jsのバージョンが即座に切り替わります。

プロジェクトディレクトリを移動するたびに切り替える運用にすれば、バージョン違いによる不具合を防げるでしょう。

nvm aliasでデフォルトバージョンを設定する

毎回同じバージョンを指定するのが面倒な場合は、デフォルトを設定しておくと便利です。

nvm alias default 20

これを設定しておけば、新しくターミナルを開いたときに自動でそのバージョンが読み込まれます。

プロジェクトごとに.nvmrcというファイルを用意しておく方法も、あわせて覚えておきたいテクニックです。

バージョン確認コマンドとよくあるトラブル対処法

続いては、現在のバージョンを確認するコマンドと、よくあるトラブルの対処法を確認していきます。

切り替えた後に本当に反映されているかを確認する癖をつけておくと、思わぬ不具合を防げます。

代表的な確認コマンドと、注意しておきたいエラーについて見ていきましょう。

node -vやnvm currentでの確認方法

現在使われているNode.jsのバージョンを確認するには、以下のコマンドが基本です。

node -v

nvm current

どちらも似たような結果を返しますが、nvm経由で管理していることを明確にしたい場合はnvm currentの方がわかりやすいでしょう。

nvm lsコマンドで一覧を確認する

インストール済みのバージョンを一覧で確認したいときは、nvm lsコマンドを使います。

nvm ls(ローカルにインストール済みのバージョン一覧を表示)

nvm ls-remote(インストール可能なバージョン一覧を表示)

これらのコマンドを組み合わせれば、今どのバージョンが使えて、どのバージョンを新たに追加できるのかが一目でわかります。

よくあるエラーとその対処法

nvmを使っていると、いくつか典型的なエラーに遭遇することがあります。

代表的なものと対処法を表にまとめました。

よくあるエラー 主な原因 対処法
command not found nvm シェルの設定ファイルにnvmの読み込み設定が反映されていない source ~/.zshrcを実行するか、ターミナルを再起動する
nvm useしてもバージョンが変わらない Homebrewでインストールしたnodeのパスが優先されている Homebrew版のnodeをアンインストールするか、パスの順序を見直す
npmコマンドが動かなくなった 切り替えたバージョンにグローバルパッケージが入っていない 該当バージョンでnpm install -gを再実行する
nvm installでダウンロードが失敗する ネットワーク環境やミラーサーバーの問題 時間を置いて再実行するか、別のバージョン番号を指定する

特に多いのは、Homebrewとnvmを併用していることによるパスの競合です。

どちらか一方に統一しておくことが、トラブルを避ける一番の近道と言えるでしょう。

HomebrewとnvmはどちらをMacで選ぶべきか

続いては、HomebrewとnvmのどちらをMacでのNode.js管理に選ぶべきかを確認していきます。

ここまでの内容を踏まえつつ、目的別にどちらが向いているのかを整理していきます。

両者の特徴を比較した表もあわせて見てみましょう。

比較項目 Homebrew nvm
導入の手軽さ 非常に簡単 やや手順が多い
複数バージョンの共存 不向き 得意
バージョン切り替えの速さ 再インストールが必要で遅い コマンド一つで即時切り替え
チーム開発での相性 バージョン統一が難しい .nvmrcで統一しやすい
向いている用途 個人でひとつのバージョンだけ使う場合 複数プロジェクトを並行する場合

個人開発とプロジェクト単位での使い分け

個人でひとつのアプリだけを触っているなら、Homebrewでも十分に事足ります。

しかし複数のプロジェクトを行き来する開発者にとっては、nvmの切り替えやすさが大きな利点になるでしょう。

学習用と実務用でバージョンを分けたいという方にも、nvmは適しています。

チーム開発における注意点

チームで開発する場合、メンバー間でNode.jsのバージョンがずれていると、思わぬ不具合の原因になります。

.nvmrcファイルをリポジトリに含めておけば、メンバー全員が同じバージョンを自動的に使えるようになります。

チーム開発では、READMEに使用するNode.jsのバージョンとnvmでの切り替え手順を明記しておくことを強くおすすめします。

これだけで、環境構築にまつわる質問対応の時間をかなり減らせるはずです。

今後のメンテナンス性を考えた選び方

Node.jsは半年ごとに新しいメジャーバージョンがリリースされ、LTSの切り替えも定期的に発生します。

その度にHomebrewで入れ替え作業をするのは手間がかかりますし、ミスも起きやすいでしょう。

長期的な運用を考えるなら、最初からnvmで管理する体制を整えておく方が結果的に楽になります。

まとめ

今回は、Node.jsのバージョン管理はMacでどうするかについて、nvmとHomebrewそれぞれの特徴から切り替え方法、確認コマンドまで解説してきました。

結論として、複数のバージョンを使い分けたい方にはnvmでの管理が最もおすすめです。

一方で、ひとつのバージョンだけをシンプルに使いたい方であれば、Homebrewでも問題ないでしょう。

nvm install、nvm use、nvm aliasという三つのコマンドを覚えておけば、日々のバージョン切り替えはほとんど困らなくなります。

トラブルが起きたときは、まずnvm currentやnode -vで現状を確認し、パスの競合を疑ってみてください。

ぜひ本記事を参考に、自分に合ったNode.jsのバージョン管理方法をMacで整えてみてください。