Claude Codeで全部やる
環境構築 ·

WSL2にNode.jsをインストールする――nvmを使う理由とコマンド全手順

WSL2でNode.jsを使うならnvmが定番。Claude Codeに言われるままやったら5分で終わった。nvmを使う理由とインストール手順をまとめた。

WSL2にNode.jsをインストールする――nvmを使う理由とコマンド全手順
WSL2Node.jsnvm環境構築

WSL2を使い始めて、Astroのセットアップに必要だったのでNode.jsを入れた。インストール方法はいくつかあるが、Claude Codeが「nvmで入れましょう」と言うのでそのままやった。5分かからず終わった。

この記事では、nvmとは何か・なぜnvmが推奨されるのかを整理しつつ、WSL2へのインストール手順を書く。

なぜaptではなくnvmで入れるのか

WSL2(Ubuntu)でNode.jsを入れる方法は主に3つある。

  1. apt でインストール(sudo apt install nodejs
  2. Node.jsの公式サイトからバイナリを直接入れる
  3. nvm(Node Version Manager)を使う ← これが定番

Claude Codeにおすすめの方法を聞いたら、迷わずnvmを推してきた。理由はこうだ:

個人開発でも複数プロジェクトを持つと「このプロジェクトはNode 18、あっちは22」という状況になる。nvmがあればそれをコマンド1行で切り替えられる。


:::note コラム: nvmとは何か

nvm(Node Version Manager)は、Node.jsのバージョンを管理するツール。Node.js本体をインストールするためのツールだと思えばいい。

Pythonでいうpyenv、Rubyでいうrbenvに相当する。バージョン管理ツールを先に入れて、そこから特定バージョンのNode.jsを入れる構造になっている。

nvm(バージョン管理)
 └─ Node.js v18.20.0
 └─ Node.js v20.15.0
 └─ Node.js v22.5.0  ← 現在使用中

nvmでインストールしたNode.jsはホームディレクトリ(~/.nvm/)以下に格納される。sudo不要で管理できるのもこのためだ。 :::


nvmのインストール

公式の手順どおり、curlでインストールスクリプトを取得して実行する。

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

スクリプトが走ると、~/.bashrc(または~/.zshrc)に以下のような記述が自動で追加される:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

インストール後は設定を反映させるため、ターミナルを再起動するか以下を実行する:

source ~/.bashrc

nvmが入ったか確認:

nvm --version
# 0.40.1 のように表示されればOK

Node.jsのインストール(LTS推奨)

nvmが入ったら、Node.jsをインストールする。特定のプロジェクトがなければLTS(長期サポート版)を入れておくのが無難。

# 最新のLTS版をインストール
nvm install --lts

# インストール済みのバージョン一覧を確認
nvm list

特定バージョンを指定して入れたい場合:

# バージョン指定でインストール
nvm install 22

# 使用するバージョンを切り替える
nvm use 22

バージョン確認と動作チェック

インストール後、ちゃんと動いているか確認する:

node --version
# v22.x.x のように表示されればOK

npm --version
# 10.x.x のように表示されればOK

Node.jsをインストールするとnpmも一緒に入る。npmはNode.jsのパッケージマネージャーで、AstroやTailwindのインストールに使う。

Windows側のNodeと混在しないのか

WSL2はWindowsとは独立したLinux環境なので、Windows側にNode.jsが入っていても基本的に競合しない。WSL2のターミナルでnodeを実行すると、WSL2内のnvmで管理しているNode.jsが動く。

Windowsで開発することは考えていなかったので混乱することもなかった。WSL2で開発するなら、Node.jsの管理もWSL2側に一本化してしまうのが一番スッキリする。

この後すぐAstroのセットアップに使った

Node.jsを入れた目的はAstroを動かすためだった。インストールして動作確認できたら、すぐnpm create astro@latestでAstroプロジェクトの作成に進んだ。

AstroのセットアップについてはAstroとCloudflare Pages、よくわからないまま公開できたに書いた。WSL2のセットアップ自体はWindowsでClaude Codeを使うならWSL2一択だったにまとめている。

nvmのインストールはClaude Codeに言われるままやったが、特に詰まることなく終わった。「なんでaptじゃないの?」という疑問はあったが、理由を聞いたらちゃんと説明してくれた。ハマっている人の参考になれば。