未完放流

終わりなど無い、有るのは試練だけだ……

Ubuntu 16.04 LTS で node.js を NodeSource 社のレポジトリからインストール

JupyterHub in LXC が便利過ぎて、公私ともども LAN の中に乱立しております。 いつも通り Ubuntu 16.04 に JupyterHub を立てようとすると、関連する node のソフトから node.js が古過ぎるとエラーが返ってきました。 問題自体はバージョンアップで解決しました。

今回使用した Node.js 公式バイナリを配布するサイトが素晴らしく、Ubuntu だけでなく Redhat 系へ、snapcraft にまで対応していました。 snap を使えば、deb, rpm に対応しない Arch Linux のようなディストリビューションへのインストールも可能です。 各バージョン(執筆時点で 6 から 11)があります。 かなり広い範囲をカバーしていると言えるのではないでしょうか?

うわっ… 16.04 LTS の node.js のバージョン、古過ぎ…?

Ubuntu 公式レポジトリから、node.js をインストールしてみましょう。

$ sudo apt install npm nodejs-legacy
$ node --version
v4.2.6

現行の node.js LTS が 10.15.1 です。 4.2.6 は 2016年1月21日公開*1なので、流石に古いかもしれません。

NodeSource 社で Node.js 公式バイナリを配布

Node.js 公式ページにて、このような記述を見つけることができます。 *2

Node.js 公式のバイナリディストリビューションが NodeSource *3によって提供されています。

以下の Github のページが紹介されます。

github.com

対応する、ディストリビューション、バージョンが紹介されています。

Ubuntu への登録も簡単

以下のようなコマンドで使えるようになります。 $VERSION はバージョン数が入る。

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_$(VERSION).x | sudo -E bash -
sudo apt-get install -y nodejs

試しに node.js 6.x をインストール

$ curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
$ sudo apt install nodejs

1行目のコマンドで、source.list の登録から apt update まで行ってくれる親切設計。 自分で更新する必要はないので、すぐに apt install nodejs を実行しても問題ありません。 同時に npm も入るので、別にパッケージを指定する必要もありません。

*1:バージョンの履歴があります: github.com

*2:引用元: nodejs.org

*3: NodeSource 社のページ nodesource.com