Skip to content

Node.js 18をUbuntu 22.04にインストールする方法

問題概要

Ubuntu 22.04にNode.js バージョン18をインストールしようとする場合、以下のコマンドを実行しても古いバージョン(v12.22.9など)がインストールされる問題が発生します。

bash
curl -sL https://deb.nodesource.com/setup_18.x -o nodesource_setup.sh
sudo bash nodesource_setup.sh
sudo apt install nodejs

この問題の主な原因は:

  • システムに既存のNode.jsバージョンが存在する
  • Nodesourceリポジトリが正しく構成されていない
  • 依存関係の競合

特にReactアプリ開発などではNode.js 14以上が必要なため、この問題の解決が重要です。

推奨解決策(Nodesourceリポジトリ利用)

注意

公式Nodesourceリポジトリを使用する方法はシステム全体にインストールされます。複数のNode.jsバージョンを管理したい場合は「nvmを使う方法」を参照してください。

手順1:依存パッケージのインストール

bash
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg

手順2:GPGキーのインポート

bash
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg

手順3:リポジトリの追加

bash
# Node.js 18をインストールする場合
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list

手順4:Node.jsのインストール

bash
sudo apt-get update
sudo apt-get install nodejs -y

手順5:インストール確認

bash
node --version
# v18.x.x が表示されれば成功

nvmによるインストール(複数バージョン管理向け)

メリット

  • ユーザーごとに異なるバージョンを簡単に切り替え可能
  • sudo権限が不要
  • 複数のプロジェクトで異なるバージョンが必要な場合に最適

手順1:nvmのインストール

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

インストール後、新しいターミナルを開くか次のコマンドを実行:

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

手順2:Node.js 18のインストールと使用

bash
# 利用可能なバージョン確認
nvm list-remote

# バージョン18をインストール
nvm install 18

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

# バージョン18を使用
nvm use 18

# デフォルトバージョン設定(任意)
nvm alias default 18

トラブルシューティング

古いバージョンが残る場合の解決法

重要

既存のNode.jsがあると競合が発生する場合があります。次の手順で完全削除してください。

bash
# 既存Node.jsの削除
sudo apt purge nodejs -y
sudo apt autoremove -y

# キャッシュ削除
sudo rm -rf /etc/apt/sources.list.d/nodesource.list
sudo rm -rf /etc/apt/keyrings/nodesource.gpg

# リポジトリ情報更新
sudo apt update

# その後、前述のインストール手順を再実行

依存関係エラーが発生する場合

bash
# 依存関係の修復
sudo apt --fix-broken install

# ビルドツールの追加インストール
sudo apt install build-essential -y

アンインストール方法

Nodesource経由でインストールした場合

bash
sudo apt purge nodejs -y
sudo rm -rf /etc/apt/sources.list.d/nodesource.list
sudo rm -rf /etc/apt/keyrings/nodesource.gpg
sudo apt autoremove -y

nvm経由でインストールした場合

bash
nvm uninstall 18  # 特定バージョンの削除
nvm deactivate  # nvmの無効化

ベストプラクティスの推奨

  1. 開発環境ではnvmを優先
    プロジェクトごとのバージョン管理が容易になり、権限エラーを回避できます

  2. 本番環境では公式リポジトリを利用
    システム全体の安定性を確保できます

  3. インストール後の確認
    必ず node --versionnpm --version でバージョン確認を実行してください

  4. 長期サポート(LTS)版の選択
    プロダクション環境では偶数のLTS版(例:v18.x)を使用することをお勧めします