UbuntuにNode.jsをインストールする手順【nvm推奨・LTS対応】

開発環境

この記事のポイント

  • Ubuntu の apt で入る Node.js は古く、24.04 でも v18.19.1(すでにサポート終了)どまり。nvm を使うと現行 LTS v24.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.04 Docker 公式イメージで実測確認済みです

「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 で入るパッケージのバージョンなど一部が異なります。

目次

  1. 前提環境
  2. なぜ apt でなく nvm を使うのか
  3. nvm をインストールする
  4. Node.js LTS をインストールする
  5. 動作確認:Hello World を動かす
  6. バージョンを切り替える
  7. npm の基本的な使い方
  8. よくあるエラーと解決策
  9. まとめ

前提環境

本記事の手順は以下の環境で実測確認しています。

項目
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 vs 24.04 の apt nodejs バージョン確認(実測・docker run で確認)
Ubuntu 22.04 vs 24.04 の apt nodejs バージョン確認(実測・docker run で確認)

実測結果はこうでした。

  • 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 vs nvm バージョン比較表(実測)
apt vs nvm バージョン比較表(実測)

理由はシンプルで、apt の Node.js は Ubuntu がリリースされた時点のバージョンで固定されるからです。Ubuntu 24.04 は 2024 年リリースなので、当時の Node.js 18 系がそのまま入り続けます。後から apt upgrade しても、メジャーバージョンが上がることはありません。

②apt 版は「重い」

もう1つ、実際に apt install nodejs npm を実行して驚いたのがインストールの重さです。何パッケージ入るのか数えてみました。

apt install nodejs npm の依存規模 662パッケージ・941MB の実測
apt install nodejs npm の依存規模 662パッケージ・941MB の実測



ubuntu@server: ~
$ sudo 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 が必要です。まず入っているか確認します。




ubuntu@server: ~
$ curl –version
curl 8.5.0 (aarch64-unknown-linux-gnu) libcurl/8.5.0 OpenSSL/3.0.13 …

エラーになる場合は先にインストールします。gitca-certificates も一緒に入れておくとスムーズです。




ubuntu@server: ~
$ sudo apt-get update
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 でした。

nvm-sh/nvm GitHub releases ページ(Playwright 撮影・2026-06-13)
nvm-sh/nvm GitHub releases ページ(Playwright 撮影・2026-06-13)

上は実際の GitHub releases ページです。v0.40.5 が「Latest」になっており、このリリースは CVE-2026-10796 を修正したセキュリティ版だと書かれています。古いバージョンを使い続けず、最新タグを使うのがおすすめです。




ubuntu@server: ~
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash
=> 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 コマンドが使えません。ターミナルを再起動するか、次のコマンドで即時反映させます。




ubuntu@server: ~
$ export NVM_DIR=”$HOME/.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 とは長期サポート版のことで、本番環境での利用が推奨されます。

nvm v0.40.5 で Node.js v24.16.0 LTS インストールの実ログ(実測)
nvm v0.40.5 で Node.js v24.16.0 LTS インストールの実ログ(実測)



ubuntu@server: ~
$ nvm install –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:インストールされたバージョンを確認する




ubuntu@server: ~
$ node –version
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 を実行する




ubuntu@server: ~
$ node -e “console.log(‘Hello from Node.js ‘ + process.version)”
Hello from Node.js v24.16.0

手順7:スクリプトファイルを作って実行する




ubuntu@server: ~/myapp
$ mkdir myapp && cd myapp
$ 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 のバージョンが指定されていることはよくあります。実際にコンテナで v20v22 を追加インストールしてみました。




ubuntu@server: ~
$ nvm install 20
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 の便利なところです。

インストール済みバージョンを一覧表示する

nvm list 実出力(v20/v22/v24 インストール済み・実測)
nvm list 実出力(v20/v22/v24 インストール済み・実測)



ubuntu@server: ~
v20.20.2
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 コマンドだけで正しいバージョンに切り替えられます。




ubuntu@server: ~/myproject
$ echo “24” > .nvmrc
$ 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 はサードパーティのライブラリ(パッケージ)を管理するツールです。

Node.js 公式サイト ダウンロードページ(Playwright 撮影・2026-06-13)
Node.js 公式サイト ダウンロードページ(Playwright 撮影・2026-06-13)

プロジェクトを初期化する(package.json を作る)




ubuntu@server: ~/myapp
$ npm init -y
Wrote to /home/ubuntu/myapp/package.json:
{
“name”: “myapp”,
“version”: “1.0.0”,
“main”: “index.js”,
“license”: “ISC”
}

パッケージをインストールする

試しに代表的な Web フレームワーク express をインストールしてみます。実際にコンテナで実行した結果がこちらです。




ubuntu@server: ~/myapp
$ npm install 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)に入るのが分かります。

著者アイコン
著者アイコン

npm のグローバルインストール(npm install -g xxx)は、nvm 管理下では root 権限不要でそのまま使えます。sudo npm install -g と書いてある古いブログ記事を見かけますが、nvm を使っているなら sudo は不要です(むしろ付けないほうが安全です)。

よくあるエラーと解決策

①nvm: command not found

nvm インストール後に nvm: command not found が出る場合、~/.bashrc への追記が反映されていない可能性があります。




ubuntu@server: ~
$ source ~/.bashrc
$ nvm –version
0.40.5

zsh を使っている場合は source ~/.zshrc を試してください。

②node: command not found(nvm install 後)

nvm のインストールはできているのに node が見つからない場合は、nvm でまだ Node.js 本体をインストールしていないか、セッションの切り替えが必要なケースです。




ubuntu@server: ~
$ nvm install –lts
$ 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 で確認しましょう。




ubuntu@server: ~
$ which node
/usr/bin/node ← これはシステム(apt)版
$ nvm use –lts
$ which node
/home/ubuntu/.nvm/versions/node/v24.16.0/bin/node ← nvm 版に切り替わった

apt 版が不要なら、削除してしまうのが一番スッキリします。前述のとおり 941MB を占有しているので、消すとディスクもかなり空きます。




ubuntu@server: ~
$ sudo apt-get remove –purge nodejs npm
$ 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 を実測で徹底比較

コメント

タイトルとURLをコピーしました