序章
Node.js は、ユーザーがネットワークアプリケーションをすばやく構築できるようにする汎用プログラミング用のJavaScriptプラットフォームです。 Node.jsは、フロントエンドとバックエンドの両方でJavaScriptを活用することで、開発の一貫性と統合性を高めます。
このガイドでは、Ubuntu18.04サーバーにNode.jsをインストールする3つの異なる方法について学習します。
前提条件
このガイドは、Ubuntu18.04を使用していることを前提としています。 始める前に、システムにsudo
権限が設定されたroot以外のユーザーアカウントが必要です。 これを行う方法については、Ubuntu18.04の初期サーバーセットアップチュートリアルに従ってください。
サーバーやローカルコンピューターを使用せずにNode.jsのインストールを試してみたい場合は、ブラウザーでインタラクティブ端末を使用できます。 下のインタラクティブターミナルの起動!ボタンをクリックして開始します。
Aptを使用してデフォルトのリポジトリからNode.jsをインストールする
Ubuntu 18.04のデフォルトのリポジトリには、複数のシステム間で一貫したエクスペリエンスを提供するために使用できるバージョンのNode.jsが含まれています。 執筆時点では、リポジトリ内のバージョンは8.10.0です。 これは最新バージョンではありませんが、安定していて、言語をすばやく試すのに十分なはずです。
このバージョンを入手するには、apt
パッケージマネージャーを使用できます。 ローカルパッケージインデックスを更新します。
- sudo apt update
次に、Node.jsをインストールします。
- sudo apt install nodejs
node
にバージョン番号を照会して、Node.jsが正常にインストールされたことを確認します。
- node -v
Outputv8.10.0
リポジトリ内のパッケージがニーズに合っている場合は、Node.jsを設定するために必要なのはこれだけです。 ほとんどの場合、Node.jsパッケージマネージャーであるnpm
もインストールする必要があります。 npm
パッケージはapt
と一緒にインストールできます。
- sudo apt install npm
これにより、Node.jsで使用するモジュールとパッケージをインストールできるようになります。
これで、apt
とデフォルトのUbuntuソフトウェアリポジトリを使用して、Node.jsとnpm
が正常にインストールされました。 ただし、異なるバージョンのNode.js、パッケージアーカイブ、またはバージョンマネージャーを使用することをお勧めします。 次のステップでは、これらの要素と、より柔軟で堅牢なインストール方法について説明します。
NodeSourcePPAを使用したAptでのNode.jsのインストール
Node.jsの最新バージョンをインストールするには、NodeSourceによって管理されているPPA(パーソナルパッケージアーカイブ)を追加できます。 これには、公式のUbuntuリポジトリよりも最新バージョンのNode.jsが含まれ、プラットフォームのいくつかの利用可能なバージョンから選択できるようになります。
まず、PPAの内容にアクセスするために、PPAをインストールします。 ホームディレクトリから、curl
を使用して、希望するバージョンのインストールスクリプトを取得し、17.x
を希望するバージョンの文字列(異なる場合)に置き換えてください。
- cd ~
- curl -sL https://deb.nodesource.com/setup_17.x -o /tmp/nodesource_setup.sh
現在利用可能なバージョンの詳細については、NodeSourceのドキュメントを参照してください。
必要に応じて、nano
(またはお好みのテキストエディタ)を使用して、このスクリプトの内容を調べることができます。
- nano /tmp/nodesource_setup.sh
スクリプトを安全に実行できることを確認したら、テキストエディタを終了します。 nano
を使用した場合は、CTRL + X
を押して終了できます。 次に、sudo
を使用してスクリプトを実行します。
- sudo bash /tmp/nodesource_setup.sh
PPAが構成に追加され、ローカルパッケージキャッシュが自動的に更新されます。 これで、前のセクションで行ったようにNode.jsパッケージをインストールできます。
- sudo apt install nodejs
-v
フラグを指定してnode
を実行し、新しいバージョンがインストールされていることを確認します。
- node -v
Outputv17.3.0
デフォルトのUbuntuパッケージリポジトリにあるものとは異なり、このnodejs
パッケージにはnode
とnpm
の両方が含まれているため、npm
を個別にインストールする必要はありません。
npm
は、ホームディレクトリの構成ファイルを使用して更新を追跡します。 npm
を初めて実行したときに作成されます。 次のコマンドを実行して、npm
がインストールされていることを確認し、構成ファイルを作成します。
- npm -v
Output8.3.0
一部のnpm
パッケージ(たとえば、ソースからのコードのコンパイルが必要なパッケージ)を機能させるには、build-essential
パッケージをインストールする必要があります。
- sudo apt install build-essential
これで、ソースからコードをコンパイルする必要があるnpm
パッケージを操作するために必要なツールができました。
このセクションでは、apt
とNodeSourcePPAを使用して、Node.jsとnpm
を正常にインストールしました。 次に、Node Version Managerを使用して、Node.jsの複数のバージョンをインストールおよび管理します。
NodeVersionManagerを使用したノードのインストール
Node.jsをインストールする別の方法は、nvm
と呼ばれるツールであるNodeVersionManager(NVM)を使用することです。 nvm
は、オペレーティングシステムレベルで動作するのではなく、ホームディレクトリ内の独立したディレクトリのレベルで動作します。 これは、システム全体に影響を与えることなく、Node.jsの複数の自己完結型バージョンをインストールできることを意味します。
nvm
を使用して環境を制御すると、Node.jsの最新バージョンにアクセスし、以前のリリースを保持および管理できます。 これはapt
とは異なるユーティリティですが、それを使用して管理するNode.jsのバージョンは、apt
を使用して管理するバージョンとは異なります。
Ubuntu 18.04マシンにNVMをインストールするには、プロジェクトのGitHubページにアクセスしてください。 メインページに表示されるREADMEファイルからcurl
コマンドをコピーして、インストールスクリプトの最新バージョンを取得します。
コマンドをbash
にパイプする前に、スクリプトを監査して、同意できないことを実行していないことを確認することをお勧めします。 これを行うには、curl
コマンドの最後にある| bash
セグメントを削除します。
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh
出力を確認し、出力に問題がないことを確認してください。 満足したら、最後に| bash
を追加して同じコマンドを実行します。 使用するURLは、最新バージョンのNVMによって異なりますが、現時点では、以下を実行することでスクリプトをダウンロードして実行できます。
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
これにより、nvm
スクリプトがユーザーアカウントにインストールされます。 これを使用するには、最初に.bashrc
ファイルを入手します。
- source ~/.bashrc
nvm
をインストールすると、分離されたNode.jsバージョンをインストールできます。 まず、nvm
に利用可能なノードのバージョンを尋ねます。
- nvm ls-remote
Output...
v14.18.2 (Latest LTS: Fermium)
v15.0.0
v15.0.1
v15.1.0
v15.2.0
v15.2.1
v15.3.0
v15.4.0
v15.5.0
v15.5.1
v15.6.0
v15.7.0
v15.8.0
v15.9.0
v15.10.0
v15.11.0
v15.12.0
v15.13.0
v15.14.0
v16.0.0
v16.1.0
v16.2.0
v16.3.0
v16.4.0
v16.4.1
v16.4.2
v16.5.0
v16.6.0
v16.6.1
v16.6.2
v16.7.0
v16.8.0
v16.9.0
v16.9.1
v16.10.0
v16.11.0
v16.11.1
v16.12.0
v16.13.0 (LTS: Gallium)
v16.13.1 (Latest LTS: Gallium)
v17.0.0
v17.0.1
v17.1.0
v17.2.0
v17.3.0
非常に長いリストですが、リストされているリリースされたバージョンのいずれかを入力することで、Nodeのバージョンをインストールできます。 たとえば、バージョンv16.13.1を入手するには、次のコマンドを実行します。
- nvm install v16.13.1
OutputNow using node v16.13.1 (npm v8.1.2)
nvm
が最後にインストールされたバージョンを使用するように切り替わる場合があります。 ただし、nvm
に、ダウンロードしたばかりのバージョンを使用するように指示することはできます(異なる場合)。
- nvm use v16.13.1
次のコマンドを実行して、現在使用されているバージョンを確認します。
- node -v
Outputv16.13.1
複数のノードバージョンがインストールされている場合は、ls
を実行してそれらのリストを取得できます。
- nvm ls
Output-> v16.13.1
system
default -> v16.13.1
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v16.13.1) (default)
stable -> 16.13 (-> v16.13.1) (default)
lts/* -> lts/gallium (-> v16.13.1)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.8 (-> N/A)
lts/fermium -> v14.18.2 (-> N/A)
lts/gallium -> v16.13.1
次のいずれかのバージョンをデフォルトにすることもできます。
- nvm alias default 16.13.1
Outputdefault -> 16.13.1 (-> v16.13.1)
このバージョンは、新しいセッションが発生したときに自動的に選択されます。 次のコマンドのように、エイリアスで参照することもできます。
- nvm use default
OutputNow using node v16.13.1 (npm v8.1.2)
Nodeの各バージョンは、独自のパッケージを追跡し、これらを管理するためにnpm
を使用できます。
npm
にNode.jsプロジェクトの./node_modules
ディレクトリにパッケージをインストールさせることもできます。 次の構文を使用して、express
モジュールをインストールします。
- npm install express
Outputadded 50 packages, and audited 51 packages in 4s
2 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
npm notice
npm notice New minor version of npm available! 8.1.2 -> 8.3.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v8.3.0
npm notice Run npm install -g npm@8.3.0 to update!
npm notice
モジュールをグローバルにインストールして、同じバージョンのNode.jsを使用する他のプロジェクトで利用できるようにする場合は、-g
フラグを追加できます。
- npm install -g express
Outputadded 50 packages, and audited 51 packages in 1s
2 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
これにより、パッケージが次の場所にインストールされます。
- ~/.nvm/versions/node/16.13.1/lib/node_modules/express
モジュールをグローバルにインストールすると、コマンドラインからコマンドを実行できますが、プログラム内からパッケージを要求するには、パッケージをローカル領域にリンクする必要があります。
- npm link express
次のコマンドを実行すると、nvm
で使用できるオプションの詳細を確認できます。
- nvm help
Nodeバージョンマネージャーnvm
を使用してNodeを正常にインストールし、さまざまなバージョンのNodeをインストールおよび管理しました。
Node.jsを削除する
ターゲットとするバージョンに応じて、apt
またはnvm
を使用してNode.jsをアンインストールできます。 デフォルトのリポジトリバージョンを削除するには、システムレベルでapt
を使用します。 このコマンドは、パッケージを削除し、構成ファイルを保持します。 これは、将来パッケージを再度インストールする予定がある場合に役立ちます。
- sudo apt remove nodejs
後で使用するために構成ファイルを保存したくない場合は、次のコマンドを実行してパッケージをアンインストールし、それに関連付けられている構成ファイルを削除します。
sudo apt purge nodejs
最後のステップとして、削除されたパッケージとともに自動的にインストールされた未使用のパッケージを削除できます。
- sudo apt autoremove
nvm
を使用して有効にしたNode.jsのバージョンをアンインストールするには、最初に、削除するバージョンが現在アクティブなバージョンであるかどうかを確認します。
- nvm current
対象のバージョンが現在アクティブなバージョンではなくである場合は、次のコマンドを実行できます。
- nvm uninstall node_version
OutputUninstalled node node_version
このコマンドは、選択したバージョンのNode.jsをアンインストールします。
削除するバージョンが現在アクティブなバージョンである場合は、最初にnvm
を非アクティブ化して、変更を有効にする必要があります。
- nvm deactivate
これで、以前に使用したuninstall
コマンドを使用して、現在のバージョンをアンインストールできます。 これにより、再インストールに使用できるキャッシュされたファイルを除いて、Node.jsのターゲットバージョンに関連付けられているすべてのファイルが削除されます。
結論
Ubuntu 18.04サーバーでNode.jsを起動して実行するには、かなりの数の方法があります。 状況によって、ニーズに最適な方法が決まります。 Ubuntuのリポジトリでパッケージ化されたバージョンを使用するのは1つの方法ですが、nvm
またはNodeSourcePPAを使用するとさらに柔軟性が高まります。
Node.jsを使用したプログラミングの詳細については、チュートリアルシリーズNode.jsでのコーディング方法を参照してください。