Ubuntu18.04で、任意のバージョンのNode.js環境を構築する方法をお伝えいたします。
aptコマンドによりNode.jsをインストールしようとすると、かなり古いバージョンがインストールされます。
そのため、最新または任意のバージョンをインストールするときは、PPA(personal package archive)からインストールする方法などがありますが、その中でも最も簡単だと思われるnというNodeのバージョン管理を用いた方法をご紹介します。
aptコマンドによりNode.jsをインストールしようとすると、かなり古いバージョンがインストールされます。
そのため、最新または任意のバージョンをインストールするときは、PPA(personal package archive)からインストールする方法などがありますが、その中でも最も簡単だと思われるnというNodeのバージョン管理を用いた方法をご紹介します。
手順の流れとしては、次のようになります。
- aptコマンドから、Ubuntuリポジトリのnodejs(Node.js本体)とnpm(Nodeのパッケージ管理)をインストール
- npmコマンドから、Nodeのバージョン管理を行う「n」パッケージをインストール
- nコマンドから、任意のバージョンのNode.jsをインストール
- 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
Ubuntu18.04 任意のバージョンのNode.jsをインストールする方法
ピンバック:Nexus5 をルート化してUbuntuを動かす – plog