Ubuntu 20.04にNode.jsをインストールする方法

はじめに

Node.jsは、サーバー側プログラミング用JavaScriptランタイムです。ブラウザベースでウェブ開発を行うことで知名度の高いJavaScriptを使用して、スケーラブルなバックエンド機能の開発を実現します。

このガイドでは、Ubuntu 20.04サーバーにNode.jsをインストールする3つの方法を示します。

  • Ubuntuのデフォルトのソフトウェアリポジトリからaptを使用して、nodejsパッケージをインストールする方法、
  • デフォルトレポジトリの代わりにPPAソフトウェアリポジトリからaptを使用して、nodejsパッケージの特定のバージョンをインストールする方法、
  • nvm(Node Version Manager)をインストールし、それを使用して、Node.jsの複数のバージョンをインストール、管理する方法です。

多くのユーザーにとっては、デフォルトリポジトリからaptを使用する方法で十分でしょう。Nodeのより新しい(または古い)特定のバージョンが必要な場合は、PPAリポジトリを使用します。Nodeアプリケーションを積極的に開発し、nodeバージョンを頻繁に切り替える必要がある場合は、nvmメソッドを選択します。

前提条件

このガイドは、Ubuntu 20.04を使用していることを前提としています。始める前に、sudo権限を持つroot以外のユーザーアカウントがシステムにセットアップされている必要があります。 Ubuntu 20.04の初期サーバーセットアップチュートリアルに従って、この方法が学べます。

オプション1 — デフォルトリポジトリからAptを使用してNode.jsをインストールする

Ubuntu 20.04のデフォルトリポジトリには、複数のシステムで一貫したエクスペリエンスを提供するために使用できるNode.jsのバージョンが含まれています。執筆時点では、リポジトリ内のバージョンは10.19です。これは最新バージョンではありませんが、安定しており、言語を手早く試すには十分でしょう。

このバージョンを入手するには、aptパッケージマネージャーを使用します。次を入力して、ローカルパッケージインデックスを更新します。

  • sudo apt update

次に、Node.jsをインストールします。

  • sudo apt install nodejs

バージョン番号のnodeをクエリして、インストールが成功したことを確認します。

  • nodejs -v
Outputv10.19.0 

リポジトリのパッケージが必要を満たしていれば、Node.jsのセットアップに必要なことはこれだけです。ほとんどの場合、npm(Node.js Package Mnager)もインストールした方がよいでしょう。aptを使用してnpmパッケージをインストールできます。

  • sudo apt install npm

これにより、Node.jsで使用するモジュールとパッケージをインストールできます。

これで、aptとデフォルトUbuntuソフトウェアリポジトリを使用して、Node.jsとnpmをインストールできました。次のセクションでは、異なるバージョンのNode.jsをインストールするために、異なるリポジトリを使用する方法を説明します。

オプション2 — NodeSource PPAを使用してAptでNode.jsをインストールする

異なるバージョンのNode.jsをインストールするには、NodeSourceが管理するPPA(Personal Package Archive)を使用できます。これらのPPAには、公式Ubuntuリポジトリより多くのNode.jsバージョンが含まれています。執筆時点では、Node.js v10、v12、v13、and v14がインストールできます。

まず、PPAをインストールして、それらのパッケージにアクセスします。 ホームディレクトリから、curl を使用して希望するバージョンのインストールスクリプトを取得し、14.xを希望するバージョン文字列(異なる場合)に置き換えてください。

  • cd ~
  • curl -sL https://deb.nodesource.com/setup_14.x -o nodesource_setup.sh

使用可能なバージョンの詳細については、NodeSourceドキュメントを参照してください。

ダウンロードしたスクリプトの内容は、nano(または好みのテキストエディタ)で検査します。

  • nano nodesource_setup.sh

スクリプトを実行しても問題ないと判断したら、エディタを終了し、スクリプトをsudoで実行します。

  • sudo bash nodesource_setup.sh

PPAが構成に追加され、ローカルパッケージキャッシュが自動的に更新されます。 これで、前述の方法と同じようにNode.jsパッケージをインストールできます。

  • sudo apt install nodejs

新しいバージョンがインストールされたことを確認するには、node-vバージョンフラグを付けて実行します。

  • node -v
Outputv14.2.0 

NodeSourceのnodejsパッケージには、nodeバイナリとnpmの両方が含まれているため、npmを個別にインストールする必要はありません。

これで、aptとNodeSource PPAを使用して、Node.jsとnpmをインストールできました。次のセクションでは、Nodeバージョンマネージャーで複数のNode.jsバージョンをインストール・管理する方法を説明します。

オプション3 — NodeバージョンマネージャーでNodeをインストールする

Node.jsをインストールする柔軟性に優れたもう一つの方法として、nvm(Node Version Manager)を使用する方法があります。このソフトウェアは、さまざまな独立したバージョンのNode.jsと、それに関連するNodeパッケージを同時にインストールして保持できます。

Ubuntu 20.04マシンにNVMをインストールするには、プロジェクトのGitHubページをご覧ください。メインページに表示されるREADMEファイルからcurlコマンドをコピーします。これにより、インストールスクリプトの最新バージョンが入手できます。

コマンドをbashにパイプする前に、スクリプトを検証して、意図しない動作をしないこと確認するのがよいでしょう。curlコマンドの末尾の| bashセグメントを削除すると確認できます。

  • curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh

スクリプトが実行する変更に問題がないか確認します。問題なければ、コマンドの末尾に| bashを追加し、再度実行します。使用するURLはnvmの最新バージョンによって変わりますが、現時点では、次のように入力することでスクリプトをダウンロードして実行できます。

  • curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

これで、nvmスクリプトがユーザーアカウントにインストールされます。スクリプトを使用するには、まず.bashrcファイルをソースする必要があります。

  • source ~/.bashrc

利用可能なNodeのバージョンについては、次のようにNVMに尋ねます。

  • nvm list-remote
Output. . .        v12.13.0   (LTS: Erbium)        v12.13.1   (LTS: Erbium)        v12.14.0   (LTS: Erbium)        v12.14.1   (LTS: Erbium)        v12.15.0   (LTS: Erbium)        v12.16.0   (LTS: Erbium)        v12.16.1   (LTS: Erbium)        v12.16.2   (LTS: Erbium)        v12.16.3   (Latest LTS: Erbium)         v13.0.0         v13.0.1         v13.1.0         v13.2.0         v13.3.0         v13.4.0         v13.5.0         v13.6.0         v13.7.0         v13.8.0         v13.9.0        v13.10.0        v13.10.1        v13.11.0        v13.12.0        v13.13.0        v13.14.0         v14.0.0         v14.1.0         v14.2.0 

非常に長いリストです。表示されたリリースバージョンのいずれかを入力すると、そのバージョンのNodeをインストールできます。たとえば、バージョンのv13.6.0を入手するには、次を入力します。

  • nvm install v13.6.0

次の画面で、インストールした複数のバージョンが表示されます。

nvm list 
Output->      v13.6.0 default -> v13.6.0 node -> stable (-> v13.6.0) (default) stable -> 13.6 (-> v13.6.0) (default) . . . 

1行目に現在アクティブなバージョン(-> v13.6.0)、名前付きエイリアスが数個、そしてこれらのエイリアスが示すバージョンが表示されます。

注:また、aptを使用してNode.jsのバージョンがインストールされている場合、ここでシステムエントリを参照できます。nvm use systemを使用して、Nodeシステムがインストールされたバージョンをいつでも有効にできます。

さらに、long-term support ( LTS: 長期サポート)版Nodeの様々なエイリアスが表示されます。

Output. . . lts/* -> lts/erbium (-> N/A) lts/argon -> v4.9.1 (-> N/A) lts/boron -> v6.17.1 (-> N/A) lts/carbon -> v8.17.0 (-> N/A) lts/dubnium -> v10.20.1 (-> N/A) lts/erbium -> v12.16.3 (-> N/A) 

これらのエイリアスに基づいてリリースをインストールすることもできます。たとえば、最新の長期サポートバージョンであるerbiumをインストールするには、以下を実行します。

  • nvm install lts/erbium
OutputDownloading and installing node v12.16.3... . . . Now using node v12.16.3 (npm v6.14.4) 

nvm useコマンドによりインストールバージョン間で切り替えできます。

nvm use v13.6.0 
Now using node v13.6.0 (npm v6.13.4) 

インストールが成功したことを確認するには、同じ手法で、もう一方のセクションから次のように入力します。

  • node -v
Outputv13.6.0 

期待通り、Nodeの正しいバージョンがマシンにインストールされています。npmの互換バージョンも使用できます。

まとめ

Ubuntu 20.04サーバーでNode.jsを起動して実行するには、いくつかの方法があります。上記の方法のどれがニーズに最適かは、状況によって決まります。Ubuntuリポジトリでパッケージバージョンを使用するのが最も簡単な方法ですが、nvmやNodeSource PPAを使用すると柔軟性が高まります。

Node.jsを使用したプログラミングの詳細については、チュートリアルシリーズNode.jsでコードする方法をご覧ください。