プロジェクトごとに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




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

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


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

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


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

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


開発効率を数十倍に!Bundler/Test Runner/Package Managerを統合した「Bun」徹底解説

今回は、密室殺人事件ドラマのコントのように、すべての謎を一つで解決してしまうような、オールインワンのJavaScriptツールキット、それが「Bun(ブン)」です。Bunは、ウェブ開発の現場で日々直面する様々な課題を、一つのツールで高速かつ効率的に解決するために設計された、新しいJavaScriptランタイムです。


ソフトウェアエンジニアが知っておきたい!OSSの「Immich」で実現するプライベートな写真管理術

Immichっていうのはね、自分で管理できる写真や動画のストレージサービスだよ。簡単に言うと、GoogleフォトとかiCloudみたいなサービスを、自分の家のサーバーで動かせるようにしたものなの。お兄ちゃんはソフトウェアエンジニアだから、このすごさがわかるよね?ただの写真管理アプリじゃないんだよ。


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

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


ブラウザで物語を紡ぐ、PlayCanvas Editorの魔法

このエディターは、まるでアニメ制作スタジオの司令塔。キャラクターの動き、背景の美術、カメラワークなど、全てを一つの場所でコントロールできるんです。まるで「魔法少女」が変身するシーンを想像してみてください。通常、変身には複雑な呪文(コード)が必要ですが、PlayCanvas Editorは、その面倒な部分を肩代わりしてくれます。


Node.js開発のデファクトスタンダード:Express.jsを用いたシンプルなAPIサーバー構築例

さて、今回ご紹介するのは. ..Aさん (新人エンジニア) 「先輩、Web APIを作りたいんですけど、Node. jsだけだと、URLのルーティングとか、リクエストの処理とか、イチから全部書くのが大変で. ..‍」Bさん (先輩エンジニア) 「おっ、頑張ってるな!でも、そうなんだよな。特に大規模になってくると、生のNode


ヘッドレスCMS「Strapi」でJavaScript開発を加速!データとAPIのイケてる関係

Strapiってのはね、例えるならキミのプロジェクトの裏方にいる、超有能なDJブースみたいなもんだ。いや、もっと正確に言うなら、キミが作ったアプリケーションにデータを届けるための、最高にイケてるヘッドレスCMSってやつさ!「ヘッドレスCMS?それって何?」って思ったそこのキミ!心配ないぜ。通常のCMS(WordPressとかMovable Typeとかね)は、コンテンツの管理画面と、そのコンテンツを見せるためのウェブサイトが一体になってるだろ?でもヘッドレスCMSは違うんだ。コンテンツの管理機能だけを切り離して、頭(ヘッド)がない状態、つまり「ヘッドレス」なんだ。


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

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