Node.js のインストールとバージョン管理
Ubuntu にNode.js をインストールしてバージョン管理する方法のメモ
本家日本語版のダウンロードサイトはこちら [Node.js ダウンロード](https://nodejs.org/ja/download/)
うちの場合は Linux Binaries (x86/x64) をダウンロードだが、この方法はとらない。理由はNodeのバージョン管理がしたいから。しかし......
- apt で nodejs と npm をインストールした場合は、Nodeのバージョン管理が面倒。
- Node のバージョン管理ツールはたくさんあってどれがいいか迷う。
Node のインストールになると、たいていこの2つの問題にまずぶちあたる。 Macでは nodebrew を使ってる人が多いみたい(自分も会社のMacではそうした)が、家の Ubuntu では n コマンドを使ってみることにした。
ちなみに今は apt-get より apt コマンドが推奨されているらしい(Ubuntu 14.04以降)。【参考】「apt-get」はもう古い?新しい「apt」コマンドを使ったUbuntuのパッケージ管理 ここでも apt を使う。
内容はバージョン情報、aptコマンドを使ったことなど以外、ほとんど下記のサイトを参考にさせていただきました。 【参考】Ubuntu16.04で任意のバージョンのNode.jsをインストールする方法
環境
$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENAME=xenial DISTRIB_DESCRIPTION="Ubuntu 16.04.5 LTS"
n コマンドのインストール
n コマンドは npm でインストールする。nodejs を入れるのに、その Node のパッケージ管理ツールが必要というのが面倒。
n-install というサードパーティ製のインストール・ツールがあるらしいが、その時だけのものをあまり入れたくないのでパス。一応GitのURLはここ[n-install](https://github.com/mklement0/n-install)
というわけで面倒だが次の手順。
- apt で nodejs と npm をインストール
- npm で n をインストール
- nコマンドで nodejs をインストール
- apt でインストールした nodejs と npm をアンインストール
apt で nodejs と npm をインストール
$ sudo apt install nodejs npm
npm で n をインストール
$ sudo npm install -g n /usr/local/bin/n -> /usr/local/lib/node_modules/n/bin/n + n@2.1.12 added 1 package in 0.896s
whichコマンドで出てくる /usr/local/bin/n はSリンク コマンド本体のインストール場所は、/usr/local/lib/node_modules/n/bin/n
$ which n /usr/local/bin/n $ ls -lF /usr/local/bin/n lrwxrwxrwx 1 root root 27 9月 8 15:54 /usr/local/bin/n -> ../lib/node_modules/n/bin/n* $ tree /usr/local/lib/node_modules/n -L 3 /usr/local/lib/node_modules/n ├── Makefile ├── README.md ├── bin │ └── n └── package.json
インストールする Node.js のバージョンを決める。
n ls でインストールできる Node.js のバージョンを調べる。行がたくさん出るので途中省略。(n list でも同じ)
$ n ls
0.0.1
0.0.2
0.0.3
0.0.4
..................
10.4.1
10.5.0
10.6.0
10.7.0
10.8.0
10.9.0
10.10.0
インストールするために、特定バージョンをオプションで事前に確認できる。 現在インストールされているバージョンはやや太字で、使用バージョンには◯がつく。
最新の安定バージョンの確認
$ n --stable
10.10.0
最新のLTS版の確認
$ n --lts
8.11.4
最新版の確認
$ n --latest
10.10.0
nコマンドで nodejs をインストール
現状(2018.9月現在)では、最新版の ver.10.10.0 が最新安定版のようなので、これと最新のLTS版をインストールしてみる。LTS版は書籍などではまだこのバージョン8での解説も多いので、切り替えて使うことを想定。
安定版のインストール
$ sudo n stable [sudo] user のパスワード: install : node-v10.10.0 mkdir : /usr/local/n/versions/node/10.10.0 fetch : https://nodejs.org/dist/v10.10.0/node-v10.10.0-linux-x64.tar.gz ######################################################################## 100.0% installed : v10.10.0
最新LTS版をインストール
$ sudo n lts install : node-v8.11.4 mkdir : /usr/local/n/versions/node/8.11.4 fetch : https://nodejs.org/dist/v8.11.4/node-v8.11.4-linux-x64.tar.gz ######################################################################## 100.0% installed : v8.11.4
他にも最新版や任意のバージョンに応じたインストール・オプションがある。
最新版のインストール
sudo n latest
任意のバージョンをインストール
sudo n 10.4.1
apt でインストールした nodejs と npm をアンインストール
n コマンドで Node.js のバージョン管理をするので、apt で入れた方は不要。
$ sudo apt purge nodejs npm $ sudo apt autoremove
インストールされたバージョンを確認
$ n --version 2.1.12 $ npm -v 5.6.0 $ node -v v8.11.4
このインストール手順では最後に入れたLTS版が生きている。
任意のバージョンに切り替えて使う
LTS版から最新安定版に切り替える
$ sudo n stable
$ node -v
v10.10.0
nodejs を切り替えると npm も対応したバージョンに切り替わる。このあたりがバージョン管理コマンドを使うと便利。
$ npm -v
6.4.1
他に最新バージョンへ切替えなど(今回の例では最新安定版=最新版なので変わらないが)
$ sudo n latest
LTS版に戻したければ
$ sudo n lts
$ node -v
v8.11.4
特定のバージョンへ切替える方法もある
$ sudo n 10.0.0
アンインストール
削除はオプションに rm または - を付けて削除するバージョンを指定
n rm バージョン
または
n - バージョン