プロジェクトごとにNode.jsの環境を変える!nvmの活用で開発効率アップ


プロジェクトごとにNode.jsの環境を変える!nvmの活用で開発効率アップ

nvm-sh/nvm

2025-10-15

専門用語はあまり気にせず、このツールがどう便利で、どう使えば良いのかを、分かりやすくご説明しますね!

「nvm-sh/nvm」は、「Node Version Manager」の略で、Node.jsというプログラムの実行環境のバージョンを管理するためのツールです。

Node.jsは、Webサイトの裏側(サーバーサイド)の処理や、フロントエンドのツール(ビルドツールなど)で非常によく使われます。しかし、Node.js自体もどんどん新しくなっていて、バージョンがたくさんあります。

困ることnvmで解決!
複数のプロジェクトを掛け持ちしているとき、プロジェクトAは古いNode.js(例:v14)でしか動かない、プロジェクトBは新しいNode.js(例:v20)じゃないと動かない、なんてことがよくあります。nvmがあれば、コマンド一つで**「今からプロジェクトAのv14を使うぞ!」「次にプロジェクトBのv20に切り替えるぞ!」**と、簡単にバージョンを入れ替えられます。
新しいバージョンのNode.jsを試してみたいけど、今動いている環境を壊したくない。nvmなら、既存の環境に影響を与えず、新しいバージョンを**「インストールだけ」して、試すときだけ「切り替えて」**使えます。

つまり、複数のバージョンを安全かつ手軽に使い分けられるのが最大のメリットです。将来、プロのエンジニアとして働く上で、ほぼ必須のツールだと思って間違いありません!

nvmは、MacやLinuxでよく使われる「ターミナル」(コマンドライン)から操作します。

以下のコマンドをターミナルに貼り付けて実行します。これは、nvmのインストールスクリプトをダウンロードして実行するコマンドです。

# nvmの最新バージョンをインストール
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

注意点 上記のv0.39.7の部分は、nvmの最新バージョンに合わせて変わることがあります。不安な場合は、で最新のインストール方法を確認しましょう。

インストール後、ターミナルを再起動するか、以下のコマンドを実行して設定を読み込みます。

# シェル(bashやzshなど)の設定ファイルを再読み込み
source ~/.bashrc  # bashを使っている場合
# または
source ~/.zshrc   # zshを使っている場合(Macの標準はこちらが多い)

nvmが正しくインストールされたか、バージョン番号を表示するコマンドで確認します。

command -v nvm

もしnvmと表示されれば成功です!

いよいよnvmを使ってNode.jsを管理する具体的なコマンドを見てみましょう。

LTS(Long Term Support
長期サポート版)は、安定していて推奨されるバージョンです。

# 推奨されている最新のLTSバージョンをインストール
nvm install --lts

# 特定のバージョン(例: v18.18.2)を指定してインストール
nvm install 18.18.2

# 別の特定のバージョン(例: v20.9.0)もインストール
nvm install 20.9.0

今、自分のパソコンにどのバージョンのNode.jsが入っているかを確認できます。

nvm ls

【表示例】

        v18.18.2
->      v20.9.0
         system
default -> 20.9.0 (-> v20.9.0)
node -> stable (-> v20.9.0) (default)
iojs -> N/A (default)

-> が付いているのが、現在使用しているバージョンです。

これが一番よく使う、nvmの魔法のコマンドです!

# バージョン v18.18.2 に切り替え
nvm use 18.18.2

# バージョン v20.9.0 に切り替え
nvm use 20.9.0

このコマンドを打つだけで、すぐにNode.jsのバージョンが切り替わります。

defaultに設定しておくと、新しくターミナルを開いたときに、自動でそのバージョンが使われるようになります。

# v20.9.0 を今後のデフォルトに設定
nvm alias default 20.9.0

nvm-sh/nvm




Webエンジニア必見!ytDownloaderから学ぶ「動画解析とデータ処理」の実用的なアプローチ

恋がそうであるように、このツールとの出会いも、あなたのエンジニアライフを豊かにする可能性がありますよ!この「aandrew-me/ytDownloader」は、単なるダウンローダーというだけでなく、「Electron」「Node. js」「JavaScript」という、現代のフロントエンド・バックエンド技術を組み合わせた「デスクトップアプリケーション開発」の教材であり、ソリューションの塊です。


開発効率爆上げ!Lissy93/Dashyで自分だけのダッシュボードを作ろう

やあ!みんな元気?ミッキーマウスだよ!今日はね、みんながもっとハッピーに、そしてもっとスマートにお仕事ができるようになる、とっておきのツールを紹介するよ!その名も「Lissy93/Dashy」!わんだふる!Dashyはね、自分でホストできるパーソナルダッシュボードなんだ!まるで自分だけの秘密基地みたいに、必要な情報やツールをぎゅっと詰め込めるんだよ。ソフトウェアエンジニアのみんなにとって、これがどれだけ便利か、ミッキーがよーく知ってるからね!


あなたのサービス品質向上に貢献:qeeqbox/social-analyzer導入とAPI連携の具体例

このツールは、指定されたユーザー名が、1000以上のソーシャルメディアやウェブサイトで利用されているかどうかを、効率的かつ広範囲にわたって調査・分析するためのものです。Node. js、JavaScript、Pythonに対応しており、API、CLI(コマンドラインインターフェース)、そしてウェブアプリとして利用できます。


ふらっと立ち寄った居酒屋で聞く、Prisma入門

「Prisma」ってのはよ、まぁ、あの、えーと… 「データベースと仲良くなるためのすごいヤツ」 だな!いや、もっとちゃんと話すと、「次世代のORM(Object-Relational Mapper)」 ってやつだよ。ORMってのは、データベースのテーブルとかを、JavaScriptとかのプログラムで扱うオブジェクト(クラスとか)にしてくれる魔法の道具って思ってくれや。


既存スタックを活かす!ソフトウェアエンジニアが知るべきPlayCanvas Engineの魅力と実践

PlayCanvas Engineは、一言で言えば「ウェブベースのパワフルなグラフィックスランタイム」です。WebGL、WebGPU、WebXRといった最新のウェブ技術を駆使して、ブラウザ上で高性能な3Dコンテンツやゲームを実現するための心臓部となるライブラリです。


パスワード管理に終止符を! Bitwarden/clientsの導入と活用

登場人物ルパン三世 最新技術に弱い天才泥棒。次元大介 寡黙で頼れる相棒。石川五右衛門 パスワードを毎回手打ちする律儀な剣士。銭形警部 フィッシング詐欺メールに引っかかりがちな捜査の鬼。場所 とあるアジト【コントの始まり】ルパン 「ようし、今夜のターゲットは世界銀行の機密データだぜ!次元、準備はいいか?」


エンジニアの味方!macOS最適化ツール「Mole」導入ガイド 〜もしもドラえもんがITコンサルだったら〜

今回は、Macを爆速でクリーンアップしてくれる強力なツール「Mole」について、エンジニア視点で解説します。せっかくなので、某・国民的SFアニメの「青いネコ型ロボット」と「メガネの少年」によるショートコント風にお届けしますね!のび太「ドラえも〜ん!Macが重すぎて、ジャイアンとのオンライン対戦に負けちゃうよ〜!何とかして〜!」


freeCodeCamp:あなたのキャリアを変える無料プログラミング学習の決定版!

突然ですが、あなたはこんな風に思っていませんか?「プログラミングを学びたいけど、何から始めたらいいか分からない…」 「スキルアップしたいけど、お金がかかるのはちょっと…」 「実戦で使えるコードを書きたいけど、どこで経験を積めばいいの?」もし、一つでも当てはまるなら、今日の放送はあなたのためにあります!


【徹底解説】AIOS-Core v4.0:フルスタック開発をAIに「おまかせ」する方法

今回のお客さまが持ち込まれた SynkraAI/aios-core、これはいわゆる「AIが主導するフルスタック開発」のためのエンジンです。エンジニア視点で見ると、単なるライブラリというよりは、「AIに開発のハンドルを握らせるための指令塔」といった趣ですね。


より良いNode.js開発のために:nodebestpracticesを読み解く

Node. js開発の「ゴールドスタンダード」とも言える、goldbergyoni/nodebestpracticesという素晴らしいガイドについて、ソフトウェアエンジニアの視点から、キャンプ場の設営になぞらえて、分かりやすくご説明しますね。