JavaScriptをローカルにインストールする

自分のマシンでExercismの演習を解くために、JavaScriptをローカルにインストールする方法を学びます。


このトラックでは、JavaScriptを動かすための実行環境として、最初から最後までNode.jsを使います。つまり、お使いのコンピューターでJavaScriptを実行するときは、常にNode.jsを使うことを前提としています。

トラックの要件

多くのマシンにはNode.jsがあらかじめインストールされていたり、以前にインストールされていたり、何かの依存関係として入っていたりします。 ですから、何をするにしても、まずインストールされているかどうかを確認しましょう。

  1. ターミナル(Terminal、cmd、Powershell、bash、...)を開きます
  2. node -v

Node.jsがインストールされていれば、バージョンが表示されます。 このバージョンはメモしておきましょう。 Node.jsがインストールされていなければ、エラーが表示されます。 たいていは、'node' is not recognisedのような内容です。

Node.js

Node.jsがすでにインストールされている場合

Node.jsのウェブサイトにアクセスしてみましょう。 すると、_2つ_のバージョンが表示されます(OSが自動的に判別された場合。そうでなければ、まずOSを選択してください)。 node -vで表示されたバージョンがそのどちらかと一致していれば、そのままで大丈夫です。 一致していない場合は、Node.js LTSを使うことをおすすめします。 アップグレードでシステムの何かが壊れてしまうのが心配な場合は、すべて問題ないものとしてそのまま進めてもかまいません。 ただし、予期しないことが起きたときにサポートできない場合があります。

Node.jsがインストールされていない場合

Node.jsをインストールする方法はいくつかあります。

どちらの方法もWindows、macOS、Linuxに対応しています。どれを選べばよいかわからない場合は、インストーラーを使うのがいちばん簡単です。

  • LTSバージョンの使用をおすすめします。Node.jsのウェブサイトでも、_ほとんどのユーザーに推奨_として示されています。
  • ウェブページの手順、またはインストーラー中の指示に従って、Node.jsをインストールしましょう。

インストールの確認

インストーラーが完了したあと、パッケージマネージャーでの作業が終わったあと、あるいはバイナリをコピーして手順どおりに進めたあとは、すべてうまくいっているか確認しておきましょう。

  1. ターミナル(Terminal、cmd、Powershell、bash、...)を開きます
  2. node -v

表示されるバージョンは、ウェブサイトに載っているものと一致しているはずです。

[!NOTE] _新しい_ターミナルウィンドウを開くことが大切です。 すでに開いているターミナルウィンドウは、インストールが完了したあとに更新されていない可能性があります。 つまり、開いたままのターミナルは、新しいプログラムがインストールされたことを認識していません。

[!IMPORTANT] > ヘルプ: 'node' is not recognised

公式のインストーラーを使った場合は、PATHは自動的に設定されているはずです。ただし、シェルがグローバルにインストールされたモジュールを見つけられない場合や、Node.jsをソースからビルドした場合は、npmのバイナリを含めるようにPATHを更新してください。

macOSとLinuxでは、次の内容を~/.bash_profileまたは~/.zshrcに追加すれば設定できます。

export PATH=/usr/local/share/npm/bin:$PATH

Windowsでは、スタートメニューを開いて「environment variables」を検索します。 PATHの項目を編集して、ここにnpmバイナリへのパスを_追加_する必要があります。 通常、これらはC:\Program Files\nodejsにあります。 ここをFile Explorerで開くと、node.exe、npm.bat、npx.batが見つかるはずです。

開いているターミナルをすべて閉じて、新しいターミナルを開いてください。

corepackを有効にする

このトラックに対応した、バージョン管理されたパッケージマネージャーを使うには、corepackを一度だけ有効にする必要があります。

corepack enable pnpm

演習の要件

お使いのOS用のExercism CLIをダウンロードするには、こちらの手順に従ってください。

CLIのセットアップと設定が終わったら、最初の演習hello-worldをダウンロードしましょう。

exercism download --exercise=hello-world --track=javascript

次に、各演習でテストを実行するためのツールが必要になります。 それらは、各演習のディレクトリで次のコマンドを実行するとインストールできます。

corepack pnpm install

このトラックはpnpmに切り替わったので、ディスク容量を気にする必要はありません。 pnpmを見てみましょう。各パッケージの各バージョンが、ディスク上にひとつしかインストールされないようにしてくれます。

でも、corepackとは何で、なぜこれでうまくいくのでしょうか?

JavaScriptトラックを進めるのにこの情報は必要ありませんが、いま何が起きたのかを知りたいという方は、次の段落を読んでみてください。

これは、corepackがNode.jsに同梱されているツールだからです。上記の手順でインストールされたNode.jsに付属しています。 これはパッケージマネージャーpnpmをインストールできます。システムの設定も行います。 corepackコマンドは、package.jsonファイルを探します。このファイルは_各_演習フォルダーにあります。 そして、packageManagerを確認し、それがpnpmと一致すれば、そのまま処理を続けます。必要であれば、先にpnpmをアップグレードします。 このファイルには、上に挙げた"dependencies"も記載されていて、それらはpnpmによってダウンロードされ、ローカルのキャッシュに置かれます。

package.json内のスクリプトは、ローカルキャッシュにあるバイナリを使います。テストの実行に使われるのはこれらのスクリプトで、exerciseの説明に記載されています。