序章

Node.js は、ユーザーがネットワークアプリケーションをすばやく構築できるようにする汎用プログラミング用のJavaScriptプラットフォームです。 Node.jsは、フロントエンドとバックエンドの両方でJavaScriptを活用することで、開発の一貫性と統合性を高めます。

このガイドでは、Debian9サーバーでNode.jsを使い始める方法を紹介します。

前提条件

このガイドは、Debian9を使用していることを前提としています。 始める前に、システムにsudo権限を持つroot以外のユーザーアカウントを設定する必要があります。 これを設定する方法は、Debian9初期サーバー設定に従うことで学ぶことができます。

Debian用のDistro-Stableバージョンのインストール

DebianのデフォルトのリポジトリにはNode.jsのバージョンが含まれています。 執筆時点では、このバージョンは4.8.2であり、2018年4月末にサポートが終了します。 安定した十分なオプションを使用して言語を実験したい場合は、リポジトリからインストールするのが理にかなっているかもしれません。 ただし、開発および実稼働のユースケースでは、PPAを使用してより新しいバージョンをインストールすることをお勧めします。 次のステップでは、PPAからインストールする方法について説明します。

ディストリビューションで安定したバージョンのNode.jsを入手するには、aptパッケージマネージャーを使用できます。 まず、ローカルパッケージインデックスを更新します。

  1. sudo apt update

次に、リポジトリからNode.jsパッケージをインストールします。

  1. sudo apt install nodejs

リポジトリ内のパッケージがニーズに合っている場合は、Node.jsを設定するために必要なのはこれだけです。

これらの最初の手順の後にインストールしたNode.jsのバージョンを確認するには、次のように入力します。

  1. nodejs -v

別のパッケージとの競合のため、Debianリポジトリからの実行可能ファイルはnodeではなくnodejsと呼ばれます。 ソフトウェアを実行しているときは、このことに注意してください。

DebianリポジトリからインストールしたNode.jsのバージョンを確認したら、さまざまなバージョン、パッケージアーカイブ、またはバージョンマネージャーを使用するかどうかを決定できます。 次に、これらの要素について、より柔軟で堅牢なインストール方法とともに説明します。

PPAを使用したインストール

Node.jsの最新バージョンを使用するには、NodeSourceによって管理されている PPA (パーソナルパッケージアーカイブ)を追加できます。 これには、公式のDebianリポジトリよりも最新バージョンのNode.jsが含まれ、Node.js v4.x(古い長期サポートバージョン。 2018年4月)、Node.js v6.x(2019年4月までサポート)、Node.js v8.x(現在のLTSバージョン、2019年12月までサポート)、およびNode.js v10.x(最新バージョン、サポート2021年4月まで)。

まず、ローカルパッケージインデックスを更新して、PPAへのアクセスに使用するcurlをインストールしましょう。

  1. sudo apt update
  2. sudo apt install curl

次に、PPAのコンテンツにアクセスするために、PPAをインストールしましょう。 ホームディレクトリから、curlを使用して、希望するバージョンのインストールスクリプトを取得し、10.xを希望するバージョンの文字列(異なる場合)に置き換えてください。

  1. cd ~
  2. curl -sL https://deb.nodesource.com/setup_10.x -o nodesource_setup.sh

このスクリプトの内容は、nanoまたはお好みのテキストエディタで調べることができます。

  1. nano nodesource_setup.sh

sudoでスクリプトを実行します。

  1. sudo bash nodesource_setup.sh

PPAが構成に追加され、ローカルパッケージキャッシュが自動的に更新されます。 セットアップスクリプトを実行した後、上記と同じ方法でNode.jsパッケージをインストールできます。

  1. sudo apt install nodejs

これらの最初の手順の後にインストールしたNode.jsのバージョンを確認するには、次のように入力します。

  1. nodejs -v
Output
v10.9.0

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

npmは、ホームディレクトリの構成ファイルを使用して更新を追跡します。 npmを初めて実行したときに作成されます。 次のコマンドを実行して、npmがインストールされていることを確認し、構成ファイルを作成します。

  1. npm -v
Output
6.2.0

一部のnpmパッケージ(たとえば、ソースからのコードのコンパイルが必要なパッケージ)を機能させるには、build-essentialパッケージをインストールする必要があります。

  1. sudo apt install build-essential

これで、ソースからのコードのコンパイルを必要とするnpmパッケージを操作するために必要なツールができました。

NVMを使用したインストール

aptを介してNode.jsをインストールする代わりに、「Node.jsバージョンマネージャー」を表すnvmというツールを使用することもできます。 nvmは、オペレーティングシステムレベルで動作するのではなく、ホームディレクトリ内の独立したディレクトリのレベルで動作します。 これは、システム全体に影響を与えることなく、Node.jsの複数の自己完結型バージョンをインストールできることを意味します。

nvmを使用して環境を制御すると、Node.jsの最新バージョンにアクセスし、以前のリリースを保持および管理できます。 これはaptとは異なるユーティリティですが、それを使用して管理するNode.jsのバージョンは、aptを使用して管理するバージョンとは異なります。

プロジェクトのGitHubページからnvmインストールスクリプトをダウンロードするには、curlを使用できます。 バージョン番号は、ここで強調表示されているものとは異なる場合があることに注意してください。

  1. curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh -o install_nvm.sh

nanoを使用してインストールスクリプトを調べます。

  1. nano install_nvm.sh

bashを使用してスクリプトを実行します。

  1. bash install_nvm.sh

~/.nvmのホームディレクトリのサブディレクトリにソフトウェアがインストールされます。 また、ファイルを使用するために必要な行を~/.profileファイルに追加します。

nvm機能にアクセスするには、ログアウトして再度ログインするか、~/.profileファイルを入手して、現在のセッションが変更を認識できるようにする必要があります。

  1. source ~/.profile

nvmをインストールすると、分離されたNode.jsバージョンをインストールできます。 使用可能なNode.jsのバージョンについては、次のように入力してください。

  1. nvm ls-remote
Output
... v8.11.1 (Latest LTS: Carbon) v9.0.0 v9.1.0 v9.2.0 v9.2.1 v9.3.0 v9.4.0 v9.5.0 v9.6.0 v9.6.1 v9.7.0 v9.7.1 v9.8.0 v9.9.0 v9.10.0 v9.10.1 v9.11.0 v9.11.1 v10.0.0 v10.1.0 v10.2.0 v10.2.1 v10.3.0 v10.4.0 v10.4.1 v10.5.0 v10.6.0 v10.7.0 v10.8.0 v10.9.0

ご覧のとおり、この記事の執筆時点での現在のLTSバージョンはv8.11.1です。 次のように入力してインストールできます。

  1. nvm install 8.11.1

通常、nvmは、最後にインストールされたバージョンを使用するように切り替わります。 nvmに、ダウンロードしたバージョンを使用するように指示するには、次のように入力します。

  1. nvm use 8.11.1

nvmを使用してNode.jsをインストールすると、実行可能ファイルはnodeと呼ばれます。 次のように入力すると、シェルで現在使用されているバージョンを確認できます。

  1. node -v
Output
v8.11.1

複数のNode.jsバージョンがある場合は、次のように入力すると、インストールされているものを確認できます。

  1. nvm ls

いずれかのバージョンをデフォルトにする場合は、次のように入力します。

  1. nvm alias default 8.11.1

このバージョンは、新しいセッションが発生したときに自動的に選択されます。 次のようなエイリアスで参照することもできます。

  1. nvm use default

Node.jsの各バージョンは、独自のパッケージを追跡し、これらを管理するためにnpmを使用できます。

npmにNode.jsプロジェクトの./node_modulesディレクトリにパッケージをインストールさせることもできます。 次の構文を使用して、expressモジュールをインストールします。

  1. npm install express

モジュールをグローバルにインストールして、同じバージョンのNode.jsを使用する他のプロジェクトで利用できるようにする場合は、-gフラグを追加できます。

  1. npm install -g express

これにより、パッケージが次の場所にインストールされます。

~/.nvm/versions/node/node_version/lib/node_modules/express

モジュールをグローバルにインストールすると、コマンドラインからコマンドを実行できますが、プログラム内からパッケージを要求するには、パッケージをローカル領域にリンクする必要があります。

  1. npm link express

次のように入力すると、nvmで使用できるオプションの詳細を確認できます。

  1. nvm help

Node.jsを削除する

ターゲットとするバージョンに応じて、aptまたはnvmを使用してNode.jsをアンインストールできます。 リポジトリまたはPPAからインストールされたバージョンを削除するには、システムレベルでaptユーティリティを使用する必要があります。

これらのバージョンのいずれかを削除するには、次のように入力します。

  1. sudo apt remove nodejs

このコマンドは、パッケージと構成ファイルを削除します。

nvmを使用して有効にしたNode.jsのバージョンをアンインストールするには、最初に、削除するバージョンが現在アクティブなバージョンであるかどうかを確認します。

  1. nvm current

対象のバージョンが現在アクティブなバージョンではなくである場合は、次のコマンドを実行できます。

  1. nvm uninstall node_version

このコマンドは、選択したバージョンのNode.jsをアンインストールします。

を削除するバージョンがで現在アクティブなバージョンである場合は、最初にnvmを非アクティブ化して、変更を有効にする必要があります。

  1. nvm deactivate

上記のuninstallコマンドを使用して現在のバージョンをアンインストールできるようになりました。これにより、再インストールに使用できるキャッシュファイルを除き、Node.jsのターゲットバージョンに関連付けられているすべてのファイルが削除されます。

結論

Debian9サーバーでNode.jsを起動して実行する方法はたくさんあります。 あなたの状況は、上記の方法のどれがあなたのニーズに最適であるかを決定します。 Debianリポジトリでパッケージ化されたバージョンを使用することは実験のオプションですが、PPAからインストールし、npmまたはnvmを操作すると、さらに柔軟性が高まります。