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 のページが紹介されます。
対応する、ディストリビューション、バージョンが紹介されています。
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
も入るので、別にパッケージを指定する必要もありません。