この記事のポイント
- Ubuntu の
aptで入る Node.js は古く、24.04 でもv18.19.1(すでにサポート終了)どまり。nvm を使うと現行 LTSv24.16.0が手に入ります - nvm(Node Version Manager)の最新版は v0.40.5(2026-06-15 時点・CVE-2026-10796 を修正したセキュリティ版)です
nvm install --ltsの1コマンドで現行 LTS(v24.16.0・npm v11.13.0)が自動で入ります- 実は
apt install nodejs npmは依存に webpack・babel・jest などを巻き込み、662 パッケージ・941MB も消費します(実測)。それでも入るのは EOL 済みの v18 です - 本記事の手順とコマンド出力は、すべて
ubuntu:24.04Docker 公式イメージで実測確認済みです
「Ubuntu に Node.js を入れようとしたら、apt で入るバージョンが古すぎた」というのは、Linux を始めたばかりの方がよくぶつかる壁です。
結論から言うと、Ubuntu への Node.js インストールは nvm(Node Version Manager)を使う方法が断然おすすめです。本記事では実際に ubuntu:24.04 Docker 公式イメージで動かして確認した、nvm を使った Node.js LTS インストール手順を解説します。
apt 版との具体的なバージョン差(v18.19.1 vs v24.16.0)、apt 版が裏で 662 パッケージも入れてしまう実測データ、複数バージョンの切り替え方法まで一通り押さえます。
注意
本記事のコマンドは Ubuntu 24.04 LTS で検証しています。Ubuntu 22.04 でも基本手順は同じですが、apt で入るパッケージのバージョンなど一部が異なります。
目次
- 前提環境
- なぜ apt でなく nvm を使うのか
- nvm をインストールする
- Node.js LTS をインストールする
- 動作確認:Hello World を動かす
- バージョンを切り替える
- npm の基本的な使い方
- よくあるエラーと解決策
- まとめ
前提環境
本記事の手順は以下の環境で実測確認しています。
| 項目 | 値 |
|---|---|
| OS | Ubuntu 24.04.4 LTS (Noble Numbat) |
| 実行環境 | Docker 公式イメージ ubuntu:24.04 |
| nvm バージョン | v0.40.5(2026-06-15 時点の最新) |
| Node.js | v24.16.0(LTS / krypton) |
| npm | v11.13.0 |
| 確認日 | 2026-06-15 |
VPS 上の Ubuntu でも同じ手順で動作します。自宅 PC や WSL2 でも基本的に同じです。
なぜ apt でなく nvm を使うのか
Ubuntu に Node.js をインストールする方法は大きく分けて2つあります。
apt install nodejs(Ubuntu のパッケージマネージャー経由)- nvm(Node Version Manager)経由
正直、最初は「apt のほうが簡単じゃないの?」と思いますよね。でも実際にコンテナで両方を動かして比べてみると、バージョン差も、インストールの重さも、想像以上に大きいのです。
①apt 版はとにかく古い
まずは apt-cache policy nodejs で、各 Ubuntu バージョンの apt が用意している Node.js を確認してみました。

実測結果はこうでした。
- Ubuntu 22.04 LTS:v12.22.9(すでに EOL・サポート終了済み)
- Ubuntu 24.04 LTS:v18.19.1(2025年4月にサポート終了済み)
- Ubuntu 26.04(次期):v22.22.1(それでも現行 LTS には1世代届かない)
一方 nvm 経由なら v24.16.0(現行 LTS)が取得できます。24.04 の apt 版とはメジャーバージョンで6世代もの差があります。

理由はシンプルで、apt の Node.js は Ubuntu がリリースされた時点のバージョンで固定されるからです。Ubuntu 24.04 は 2024 年リリースなので、当時の Node.js 18 系がそのまま入り続けます。後から apt upgrade しても、メジャーバージョンが上がることはありません。
②apt 版は「重い」
もう1つ、実際に apt install nodejs npm を実行して驚いたのがインストールの重さです。何パッケージ入るのか数えてみました。

The following additional packages will be installed:
… node-webpack node-babel7 node-jest node-tap libjs-util …
2 upgraded, 662 newly installed, 0 to remove and 4 not upgraded.
After this operation, 941 MB of additional disk space will be used.
たった Node.js を入れたいだけなのに、662 個のパッケージと 941MB のディスクを消費します。Ubuntu の npm パッケージが webpack・babel・jest といった大量の Node ライブラリを依存に持っているためです。しかもそれで手に入るのは、前述のとおり EOL 済みの v18.19.1。これは正直、コスパが良くありません。
nvm なら、単一の Node.js バイナリ(数十MB)をダウンロードするだけで現行 LTS が入ります。VPS のディスクが小さい学習用プランでは、この差は地味に効いてきます。
③プロジェクトごとにバージョンを切り替えられる
もう1つ nvm の大きなメリットが、プロジェクトごとにバージョンを切り替えられる点です。「プロジェクト A は Node.js v20、プロジェクト B は v22」という使い分けが nvm use 20 の1コマンドでできます。チーム開発でも .nvmrc ファイルを置いておくだけで全員が同じバージョンを使えます(後述)。
nvm をインストールする
手順1:curl をインストールする(未インストールの場合)
nvm のインストールスクリプトを取得するために curl が必要です。まず入っているか確認します。
curl 8.5.0 (aarch64-unknown-linux-gnu) libcurl/8.5.0 OpenSSL/3.0.13 …
エラーになる場合は先にインストールします。git と ca-certificates も一緒に入れておくとスムーズです。
Reading package lists… Done
$ sudo apt-get install -y curl git ca-certificates
Setting up curl (8.5.0-2ubuntu10.9) …
Setting up git (1:2.43.0-1ubuntu7.3) …
apt-get update を忘れがちですが、これをやらないとパッケージ一覧が古いまま検索されて失敗することがあります。必ずセットで実行してください。
手順2:nvm インストールスクリプトを実行する
nvm の GitHub リポジトリ(nvm-sh/nvm)から最新版のインストールスクリプトを取得して実行します。執筆時点(2026-06-15)の最新は v0.40.5 でした。

上は実際の GitHub releases ページです。v0.40.5 が「Latest」になっており、このリリースは CVE-2026-10796 を修正したセキュリティ版だと書かれています。古いバージョンを使い続けず、最新タグを使うのがおすすめです。
=> Downloading nvm from git to ‘/home/ubuntu/.nvm’
=> Appending nvm source string to /home/ubuntu/.bashrc
=> Appending bash_completion source string to /home/ubuntu/.bashrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:
export NVM_DIR=”$HOME/.nvm”
[ -s “$NVM_DIR/nvm.sh” ] && \. “$NVM_DIR/nvm.sh” # This loads nvm
注意:バージョン番号について
スクリプト URL の v0.40.5 は 2026年6月時点の最新版です。常に最新版を使いたい場合は、nvm の GitHub releases ページで最新タグを確認してから URL を変えてください。
手順3:nvm を現在のターミナルで有効にする
インストール直後はまだ nvm コマンドが使えません。ターミナルを再起動するか、次のコマンドで即時反映させます。
$ [ -s “$NVM_DIR/nvm.sh” ] && \. “$NVM_DIR/nvm.sh”
$ nvm –version
0.40.5
0.40.5 のようにバージョン番号が表示されれば nvm のインストール成功です。
nvm: command not found が出る場合は、ターミナルを一度閉じて開き直してから nvm --version を再試行してください。
Node.js LTS をインストールする
手順4:Node.js の LTS 版をインストールする
nvm を使って Node.js の LTS(Long-Term Support)版をインストールします。LTS とは長期サポート版のことで、本番環境での利用が推奨されます。

Installing latest LTS version.
Downloading and installing node v24.16.0…
Downloading https://nodejs.org/dist/v24.16.0/node-v24.16.0-linux-x64.tar.gz…
############################################ 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v24.16.0 (npm v11.13.0)
Creating default alias: default -> lts/* (-> v24.16.0 *)
Now using node v24.16.0 (npm v11.13.0) と表示されればインストール完了です。このとき npm(v11.13.0)も同時に入ります。チェックサム検証(Checksums matched!)まで自動で行われるので安心です。
手順5:インストールされたバージョンを確認する
v24.16.0
$ npm –version
11.13.0
$ which node
/home/ubuntu/.nvm/versions/node/v24.16.0/bin/node
which node の結果が /home/ubuntu/.nvm/versions/... となっていれば、システムの node ではなく nvm が管理する node を使っているということです。
動作確認:Hello World を動かす
インストールできたら、実際に JavaScript を動かしてみましょう。
手順6:コマンドラインで Hello World を実行する
Hello from Node.js v24.16.0
手順7:スクリプトファイルを作って実行する
$ cat > index.js << 'EOF'
console.log(‘Node.js ‘ + process.version + ‘ is running!’);
EOF
$ node index.js
Node.js v24.16.0 is running!
問題なく動きましたね。次はバージョン切り替えも試してみましょう。
バージョンを切り替える
nvm の真価は複数バージョンの切り替えができることです。プロジェクトによって Node.js のバージョンが指定されていることはよくあります。実際にコンテナで v20 と v22 を追加インストールしてみました。
Now using node v20.20.2 (npm v10.8.2)
$ nvm install 22
Now using node v22.22.3 (npm v10.9.8)
$ nvm use 20
Now using node v20.20.2
$ node –version
v20.20.2
$ nvm use –lts
Now using node v24.16.0
バージョンによって付いてくる npm のバージョンも違う(v20 は npm 10.8.2、v22 は npm 10.9.8)のが分かりますね。これが nvm の便利なところです。
インストール済みバージョンを一覧表示する

v22.22.3
-> v24.16.0 *
default -> lts/* (-> v24.16.0 *)
lts/iron -> v20.20.2
lts/jod -> v22.22.3
lts/krypton -> v24.16.0 *
矢印(->)が付いているのが現在使っているバージョンです。LTS にはそれぞれ iron(v20)・jod(v22)・krypton(v24)というコードネームが付いています。
.nvmrc でプロジェクトのバージョンを固定する
プロジェクトのルートディレクトリに .nvmrc ファイルを置くと、nvm use コマンドだけで正しいバージョンに切り替えられます。
$ nvm use
Found ‘/home/ubuntu/myproject/.nvmrc’ with version <24>
Now using node v24.16.0
チームで開発する場合は .nvmrc を Git に含めておくことで、メンバー全員が同じ Node.js バージョンで開発できます。
npm の基本的な使い方
Node.js をインストールすると npm(Node Package Manager)も一緒に入ります。npm はサードパーティのライブラリ(パッケージ)を管理するツールです。

プロジェクトを初期化する(package.json を作る)
Wrote to /home/ubuntu/myapp/package.json:
{
“name”: “myapp”,
“version”: “1.0.0”,
“main”: “index.js”,
“license”: “ISC”
}
パッケージをインストールする
試しに代表的な Web フレームワーク express をインストールしてみます。実際にコンテナで実行した結果がこちらです。
added 66 packages, and audited 67 packages in 2s
$ npm ls
myapp@1.0.0 /home/ubuntu/myapp
`– express@5.2.1
express の最新版 5.2.1 が、依存込みで 66 パッケージ・約2秒でインストールできました。先ほどの apt 版(662パッケージ・941MB)と比べると、必要なものだけがプロジェクト内(node_modules)に入るのが分かります。
よくあるエラーと解決策
①nvm: command not found
nvm インストール後に nvm: command not found が出る場合、~/.bashrc への追記が反映されていない可能性があります。
$ nvm –version
0.40.5
zsh を使っている場合は source ~/.zshrc を試してください。
②node: command not found(nvm install 後)
nvm のインストールはできているのに node が見つからない場合は、nvm でまだ Node.js 本体をインストールしていないか、セッションの切り替えが必要なケースです。
$ nvm use –lts
$ node –version
v24.16.0
なお、スクリプトの中で nvm install --lts | grep ... のように パイプでつなぐと、バージョン切り替えがサブシェル内で完結してしまい、後続の node が見つからなくなることがあります。シェルスクリプトに組み込む際は、パイプを使わず nvm use --lts を明示的に呼ぶのが確実です(これは実際に検証中にハマったポイントです)。
③apt 版の node と PATH が混線する
過去に sudo apt install nodejs でシステム版を入れていると、PATH が混線して古い node が優先されることがあります。which node で確認しましょう。
/usr/bin/node ← これはシステム(apt)版
$ nvm use –lts
$ which node
/home/ubuntu/.nvm/versions/node/v24.16.0/bin/node ← nvm 版に切り替わった
apt 版が不要なら、削除してしまうのが一番スッキリします。前述のとおり 941MB を占有しているので、消すとディスクもかなり空きます。
$ sudo apt-get autoremove
$ which node
/home/ubuntu/.nvm/versions/node/v24.16.0/bin/node
まとめ
Ubuntu への Node.js インストールは nvm を使うのが現時点でのベストプラクティスです。今回の実測でわかったポイントをまとめます。
- Ubuntu 24.04 の apt 版 Node.js は v18.19.1(サポート終了済み)どまりで、nvm を使うと v24.16.0(現行 LTS)が手に入る
- apt install nodejs npm は依存に webpack/babel/jest を巻き込み 662パッケージ・941MB を消費する(実測)
- nvm のインストールは
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bashの1コマンド nvm install --ltsで常に最新の LTS(v24.16.0・npm v11.13.0)が自動取得できる.nvmrcファイルでチーム内のバージョンを固定できる- nvm 管理下では sudo なしで npm グローバルインストールが使える
よく使う nvm コマンドまとめ
nvm install --lts:最新 LTS をインストールnvm install 20:Node.js v20 系の最新をインストールnvm use 24:v24 系に切り替えnvm list:インストール済み一覧を表示nvm ls-remote --lts:リモートの LTS 一覧を確認nvm alias default 24:デフォルトバージョンを v24 に設定
Node.js が動く環境が整ったら、次は VPS 上で本格的にサーバーを動かしてみましょう。Ubuntu サーバーを丸ごと立ち上げるなら、Vultr や ConoHa といった VPS がコスパ面でおすすめです。
VPS の選び方や速度比較が気になる方は、こちらの記事も参考にしてください。
VPS 速度比較 — Vultr・DigitalOcean・ConoHa を実測で徹底比較



コメント