「n」を使って Ubuntu 環境で Node.js をバージョン管理する

Node.js 本体のバージョン管理ツールとして、自分は

を使い続けている。

Nodebrew は Linux にも対応しているので、WSL2 Ubuntu や CentOS で使っても良いだろう。

今回はなんとなく違うヤツを試してみるか、と思い、以前 MacOS で使えるバージョン管理ツールを調べた時に見つけていた、n というツールを試してみる。

目次

とりあえず Node.js と npm をインストールする

今回は WSL2 の Ubuntu 18.04 環境を使って環境構築していく。素の Ubuntu でも同じだと思われ。

「n」は npm 製のツールなので、とりあえず「n」を動かすために、どんなバージョンでも良いので Node.js と npm をインストールする必要がある。素直に apt を使おう。

$ sudo apt install -y nodejs npm

インストールできるバージョンは以下のとおり。まぁまぁ古めね。

n をインストールする

続いて n をグローバルインストールする。Ubuntu 環境だとグローバルインストールするために sudo npm とする必要があると思う。

$ sudo npm install -g n

n で最新版の Node.js・npm をインストールする

n がインストールできたら n コマンドが使えるようになっているので、以下のコマンドでインストールできるバージョン一覧を表示してみよう。

$ n ls-remote

本稿執筆時点では Node.js v14.5.0 が最新版みたいなので、コレをインストールしてみる。上述のように ls-remote など権限が要らないサブコマンドなら sudo は不要だが、インストール時は sudo n とする必要がある。

$ sudo n 14.5.0

インストール後、シェルを一度ログアウトし、再ログインすることで変更を反映させる。バージョンを確認すると次のとおり。

確かにバージョンが切り替わった。

以上

サブコマンドの使用感などは Nodebrew にも近く、n 自体のインストールに npm を使うので、実はインストールしたパッケージの見通しが Nodebrew なんかよりも良かったりする。

「n」のソースコードはシェルスクリプトなので、実は前段でとりあえずインストールした Node.js や npm に依存していない、というのも面白い。だからとりあえずインストールする Node.js のバージョンが何でも構わないのね。

ググラビリティの低い名前が少々残念だが、悪くないかも。