「n」を使って Ubuntu 環境で Node.js をバージョン管理する
Node.js 本体のバージョン管理ツールとして、自分は
- Windows では Nodist
- MacOS では Nodebrew
を使い続けている。
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
インストールできるバージョンは以下のとおり。まぁまぁ古めね。
- Node.js : v8.10.0
- npm : v3.5.2
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
インストール後、シェルを一度ログアウトし、再ログインすることで変更を反映させる。バージョンを確認すると次のとおり。
- Node.js : v14.5.0
- npm : v6.14.0
確かにバージョンが切り替わった。
以上
サブコマンドの使用感などは Nodebrew にも近く、n 自体のインストールに npm を使うので、実はインストールしたパッケージの見通しが Nodebrew なんかよりも良かったりする。
「n」のソースコードはシェルスクリプトなので、実は前段でとりあえずインストールした Node.js や npm に依存していない、というのも面白い。だからとりあえずインストールする Node.js のバージョンが何でも構わないのね。
ググラビリティの低い名前が少々残念だが、悪くないかも。