Ubuntu18.04で、任意のバージョンのNode.js環境を構築する方法をお伝えいたします。
aptコマンドによりNode.jsをインストールしようとすると、かなり古いバージョンがインストールされます。
そのため、最新または任意のバージョンをインストールするときは、PPA(personal package archive)からインストールする方法などがありますが、その中でも最も簡単だと思われるnというNodeのバージョン管理を用いた方法をご紹介します。

手順の流れとしては、次のようになります。

  1. aptコマンドから、Ubuntuリポジトリのnodejs(Node.js本体)とnpm(Nodeのパッケージ管理)をインストール
  2. npmコマンドから、Nodeのバージョン管理を行う「n」パッケージをインストール
  3. nコマンドから、任意のバージョンのNode.jsをインストール
  4. apt-getコマンドでインストールしたnodejsとnpmをアンインストール

環境

今回、Node.jsを構築する環境を確認しておきます。また、以下の作業はすべてターミナルにて行っております。

Ubuntuのバージョン


$ cat /etc/lsb-release

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"

aptからnodejsとnpmをインストール

次のコマンドを実行してnodejsとnpmをインストールします。


$ sudo apt install nodejs npm

node-gypで依存エラーが出る場合

npmをインストールしようとしたとき、次のメッセージが出力されてインストールできないときがあります。


$ sudo apt install npm

パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:

以下のパッケージには満たせない依存関係があります:
 npm : 依存: node-gyp (>= 0.10.9) しかし、インストールされようとしていません
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。

このときは、libssl1.0-devをインストールした後にnpmをインストールします。


$ sudo apt install libssl1.0-dev
$ sudo apt install npm

npmからnパッケージをインストール

次のコマンドを実行してnpmからnパッケージをインストールします。


$ sudo npm install -g n

/usr/local/bin/n -> /usr/local/lib/node_modules/n/bin/n
/usr/local/lib
└── n@6.0.1 

nからNode.jsをインストール

nを用いてNode.jsをインストールするときに、バージョンを指定します。

最新版のNode.jsのインストール

最新版のNode.jsをインストールするときは、次のコマンドを実行します。


$ sudo n latest

最新のLTS版のNode.jsのインストール

最新のLTS版のNode.jsをインストールするときは、次のコマンドを実行します。


$ sudo n lts

任意のバージョンのNode.jsのインストール

任意のバージョンのNode.jsをインストールするときは、まず次のコマンドでインストールできるNode.jsのバージョンを調べます。
「n ls-remote」コマンド実行すると、最新版から20個のバージョンが表記されます。


$ n ls-remote

Listing remote... Displaying 20 matches (use --all to see all).
12.9.0
12.8.1
12.8.0
12.7.0
12.6.0
12.5.0
12.4.0
12.3.1
12.3.0
12.2.0
12.1.0
12.0.0
11.15.0
11.14.0
11.13.0
11.12.0
11.11.0
11.10.1
11.10.0
11.9.0

バージョンを指定してNode.jsをインストールするするときは、次のコマンドを実行します。
次はバージョン12.8.1をした場合になります。


$ sudo n 12.8.1

aptからnodejsとnpmをアンインストール

nを用いてNode.jsをインストールしたら、aptコマンドからインストールしたnodejsとnpmは不要となるので、アンインストールしておきます。


$ sudo apt purge nodejs npm
$ suto apt autoremove

確認

最後に、Node.jsとnpm、nのバージョンを確認しておきます。


$ node -v
v10.16.3

$ npm -v
6.9.0

$ n --version
6.0.1

nコマンドについて

Nodeバージョン管理nは、バージョンを指定したり、不要なバージョンを削除できる機能などがあります。
詳しくは、helpをご確認ください。


$ n -h

Usage: n [options] [COMMAND] [args]

Commands:

  n                              Display downloaded node versions and install selection
  n latest                       Install the latest node release (downloading if necessary)
  n lts                          Install the latest LTS node release (downloading if necessary)
  n                     Install node  (downloading if necessary)
  n run  [args ...]     Execute downloaded node  with [args ...]
  n which               Output path for downloaded node 
  n exec   [args...]  Execute command with modified PATH, so downloaded node  and npm first
  n rm              Remove the given downloaded version(s)
  n prune                        Remove all downloaded versions except the installed version
  n --latest                     Output the latest node version available
  n --lts                        Output the latest LTS node version available
  n ls                           Output downloaded versions
  n ls-remote [version]          Output matching versions available for download
  n uninstall                    Remove the installed node and npm

Options:

  -V, --version   Output version of n
  -h, --help      Display help information
  -q, --quiet     Disable curl output (if available)
  -d, --download  Download only
  -a, --arch      Override system architecture
  --all           ls-remote displays all matches instead of last 20
  --insecure      Turn off certificate checking for https requests (may be needed from behind a proxy server)

Aliases:

  which: bin
  run: use, as
  ls: list
  lsr: ls-remote
  rm: -
  lts: stable
  latest: current

Versions:

  Numeric version numbers can be complete or incomplete, with an optional leading 'v'.
  Versions can also be specified by label, or codename,
  and other downloadable releases by /

    4.9.1, 8, v6.1    Numeric versions
    lts               Newest Long Term Support official release
    latest, current   Newest official release
    boron, carbon     Codenames for release streams
    and nightly, chakracore-release/latest, rc/10 et al

関連する記事

  • TensorFlow チュートリアルDeep MNIST for Expertsを試してみるTensorFlow チュートリアルDeep MNIST for Expertsを試してみる TensorFlowのチュートリアルDeep MNIST for Expertsを試してみる。 import tensorflow as tf import input_data # MNISTデータを取得 mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) # […]
  • R knitrできれいな多重クロス集計をPDFで出力する方法R knitrできれいな多重クロス集計をPDFで出力する方法 knitrパッケージのkable関数を使えば、matrixやdata.frameなどの表形式をきれいに出力してくれるが、ftable関数を用いた多重クロス集計の結果は、kable関数を使うことができない。 これは非常に残念なので、他の方法できれいに出力する方法をお伝えする。ちなみにこの方法ではPDF出力のみの対応となるので注意してほしい。 手順を簡単に説明すると、 […]
  • R言語 CRANパッケージ一覧R言語 CRANパッケージ一覧 CRANで公開されているR言語のパッケージの一覧をご紹介します。英語でのパッケージの短い説明文はBing翻訳またはGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。何かのお役に立てれば幸いです。 パッケージ確認日:2021/01/01 パッケージ数:16838 また、パッケージをお探しの方は「R言語 CRAN Task […]
  • Ubuntu16.04で任意のバージョンのNode.jsをインストールする方法Ubuntu16.04で任意のバージョンのNode.jsをインストールする方法 Ubuntu16.04で、任意のバージョンのNode.js環境を構築する方法をお伝えいたします。 apt-getコマンドによりNode.jsをインストールしようとすると、かなり古いバージョンがインストールされます。 そのため、最新または任意のバージョンをインストールするときは、PPA(personal package […]
  • OpalのAdministration機能OpalのAdministration機能 Opalの管理機能の概要を簡単にお伝えいたします。 ここでのOpalのバージョンは3.02となります。 まず、Opalにアドミニストレータでサインインします。 右上のAdministrationをクリックします。 表示された画面がOpalの管理画面になります。 Opalの管理は「DATA ACCESS」「DATA […]
Ubuntu18.04で任意のバージョンのNode.jsをインストールする方法