# xserver に Node.js インストール

レンタルサーバーエックスサーバーを題材にしているが、エックスサーバー以外のレンタルサーバーやVPSでも同様の手順でインストール可能。Vue.jsやReactが主流の現在、Node.jsはWeb開発に不可欠な存在。

前提条件:

  • SSH接続: サーバーにSSHで接続できること
  • wget: ファイルダウンロード用(エックスサーバーでは標準で利用可能)
  • perl: スクリプト実行用(エックスサーバーでは標準で利用可能)
  • 書き込み権限: ホームディレクトリ($HOME)への書き込み権限があること

確認方法

# wgetの確認
which wget

# perlの確認
which perl
perl -v

# ホームディレクトリの確認
echo $HOME
ls -la ~

# nodebrew とは

nodebrewは、Node.jsのバージョン管理ツールです。複数のNode.jsバージョンを簡単に切り替えられるため、プロジェクトごとに異なるバージョンを使用する場合に便利です。

# nodebrewの特徴

  • 複数バージョン管理: 複数のNode.jsバージョンを同時にインストール可能
  • 簡単な切り替え: nodebrew useコマンドでバージョンを簡単に切り替え
  • 軽量: サーバーリソースをほとんど消費しない
  • レンタルサーバー対応: root権限がなくてもホームディレクトリにインストール可能

# nodebrew のインストール

# curlが使える環境の場合

curlが利用できる環境では、以下のワンライナーでインストールできます:

curl -L git.io/nodebrew | perl - setup

# curlが使えない環境(エックスサーバーなど)の場合

エックスサーバーではcurlが使えないため、wgetとperlを組み合わせてインストールします:

# nodebrewスクリプトをダウンロード
wget git.io/nodebrew

# インストール実行
perl nodebrew setup

インストールが成功すると、以下のようなメッセージが表示されます:

# Fetching nodebrew...
# Installed nodebrew in $HOME/.nodebrew
#
# ========================================
# Export a path to nodebrew:
#
# export PATH=$HOME/.nodebrew/current/bin:$PATH
#
# ========================================

インストール完了後、ダウンロードしたスクリプトファイルは削除しても問題ありません:

rm nodebrew

# 環境変数の設定

インストール完了後、nodebrewを使用するためにパスを通す必要があります。

# .bashrcにパスを追加

# .bashrcファイルにパスを追加
echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.bashrc

# 設定を反映
source ~/.bashrc

# 設定の確認

パスが正しく設定されたか確認します:

# nodebrewコマンドが使えるか確認
which nodebrew

# nodebrewのバージョン確認
nodebrew help | head -1

注意

新しいSSHセッションを開始するたびに、.bashrcが自動的に読み込まれます。現在のセッションで即座に反映したい場合は、source ~/.bashrcを実行してください。

# Node.js のインストール

# 利用可能なバージョンの確認

インストール前に、利用可能なNode.jsバージョンを確認できます:

# リモートで利用可能なバージョン一覧を表示
nodebrew ls-remote

# インストール済みとリモートの両方を表示
nodebrew ls-all

# バージョンのインストール

nodebrewでは、以下の方法でNode.jsをインストールできます:

# 最新バージョンをインストール
nodebrew install latest

# 安定版(LTS)をインストール
nodebrew install stable

# 特定のバージョンをインストール(vプレフィックスあり)
nodebrew install v18.17.0

# 特定のバージョンをインストール(vプレフィックスなし)
nodebrew install 18.17.0

# メジャーバージョンの最新をインストール
nodebrew install v18

推奨

本番環境では、安定版(LTS: Long Term Support)を使用することを推奨します。LTSバージョンは長期サポートが提供され、セキュリティアップデートも継続的に提供されます。

# インストールの確認

インストールが完了したら、インストール済みバージョンを確認します:

nodebrew list

出力例:

v18.17.0
v20.5.0

current: none

current: noneと表示されている場合は、まだ使用するバージョンが設定されていない状態です。

# Node.js バージョンの切り替え

# 使用するバージョンを設定

インストールしたバージョンの中から、使用するバージョンを設定します:

# 特定のバージョンを使用
nodebrew use v18.17.0

# または、最新のインストール済みバージョンを使用
nodebrew use latest

# バージョンの確認

Node.jsとnpmが正しくインストールされ、使用できる状態になっているか確認します:

# Node.jsのバージョン確認
node -v
# 出力例: v18.17.0

# npmのバージョン確認
npm -v
# 出力例: 9.6.7

# インストール場所の確認
which node
which npm

# 実践的な使用例

# プロジェクトごとにバージョンを切り替える

異なるプロジェクトで異なるNode.jsバージョンが必要な場合:

# プロジェクトA用(Node.js 18)
cd ~/project-a
nodebrew use v18.17.0
node -v  # v18.17.0

# プロジェクトB用(Node.js 20)
cd ~/project-b
nodebrew use v20.5.0
node -v  # v20.5.0

# エイリアスの設定

よく使うバージョンにエイリアスを設定すると便利です:

# エイリアスの設定
nodebrew alias default v18.17.0

# エイリアスを使用
nodebrew use default

# エイリアスの一覧確認
nodebrew list

# エイリアスの削除
nodebrew unalias default

# 特定バージョンでコマンドを実行

一時的に特定のバージョンでコマンドを実行したい場合:

# 特定バージョンでnpmパッケージをインストール
nodebrew exec v18.17.0 -- npm install express

# 特定バージョンでスクリプトを実行
nodebrew exec v20.5.0 -- node app.js

# トラブルシューティング

# 問題: nodebrewコマンドが見つからない

原因: パスが正しく設定されていない

解決方法:

# .bashrcの内容を確認
cat ~/.bashrc | grep nodebrew

# パスが設定されていない場合は追加
echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

# 問題: nodeコマンドが見つからない

原因: バージョンが設定されていない

解決方法:

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

# バージョンを設定
nodebrew use v18.17.0

# 再度確認
node -v

# 問題: インストールが失敗する

原因: ディスク容量不足、ネットワークエラー、権限不足など

解決方法:

# ディスク容量の確認
df -h ~

# インストールディレクトリの権限確認
ls -la ~/.nodebrew

# 再インストールを試す
nodebrew install stable

# 問題: コンパイルエラーが発生する

原因: ソースからコンパイルする際に必要なビルドツールが不足

解決方法: バイナリ版を使用する(nodebrew installはデフォルトでバイナリ版を使用)

# バイナリ版を明示的に指定
nodebrew install-binary stable

# nodebrew のアップデート

nodebrew自体を最新版にアップデートする場合:

nodebrew selfupdate

# 不要なバージョンの削除

ディスク容量を節約するために、不要なバージョンを削除できます:

# 特定バージョンを削除
nodebrew uninstall v14.2.0

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

# グローバルパッケージの移行

バージョンを切り替える際に、グローバルにインストールしたnpmパッケージを移行したい場合:

# 旧バージョンから新バージョンへパッケージを移行
nodebrew migrate-package v18.17.0

# nodebrew コマンド一覧

コマンド 説明
nodebrew help ヘルプメッセージを表示
nodebrew install <version> 指定バージョンをダウンロードしてインストール(バイナリ版)
nodebrew compile <version> 指定バージョンをソースからコンパイルしてインストール
nodebrew install-binary <version> installのエイリアス(後方互換性のため)
nodebrew uninstall <version> 指定バージョンをアンインストール
nodebrew use <version> 使用するバージョンを設定
nodebrew list インストール済みバージョンの一覧を表示
nodebrew ls listのエイリアス
nodebrew ls-remote リモートで利用可能なバージョンの一覧を表示
nodebrew ls-all インストール済みとリモートの両方のバージョン一覧を表示
nodebrew alias <key> <value> エイリアスを設定
nodebrew unalias <key> エイリアスを削除
nodebrew clean <version> \| all ソースファイルを削除
nodebrew selfupdate nodebrew自体をアップデート
nodebrew migrate-package <version> 指定バージョンのグローバルNPMパッケージを現在のバージョンに移行
nodebrew exec <version> -- <command> 指定バージョンを使用してコマンドを実行

# 実装時の注意点

nodebrewを使用することで、レンタルサーバーでも簡単にNode.jsをインストールし、バージョン管理が可能になる。特にエックスサーバーのようにcurlが使えない環境でも、wgetとperlの組み合わせで問題なくインストールできる。

# 主なポイント

  • ✅ root権限不要でホームディレクトリにインストール可能
  • ✅ 複数のNode.jsバージョンを簡単に切り替え可能
  • ✅ curlがなくてもwgetとperlでインストール可能
  • ✅ プロジェクトごとに異なるバージョンを使用可能

# 参考リンク

2020-03-05

同じタグを持つ記事をピックアップしました。