nodeのインストール:asdf-nodejsで複数のバージョンをインストールし、パスをチェックする方法
この記事では、JavaScriptの開発環境をざっと見て、nodeやnpm、さらにはyarnをインストールする最適な方法をまとめます。 特に、バージョンマネージャを使ってnodeをインストールすることで、将来使うかもしれないnodeの多くのバージョンに備えることができます。
1. JavaScript開発環境を理解する
JavaScript(略してJS)は、ウェブブラウザのHTMLに動的な機能を追加するための言語として作られました。 そのため、JSコードはウェブブラウザ内でしか実行できませんでした。
しかし2009年、ライアン・ダールがChromeブラウザーのV8エンジンをベースにしたnode.jsというJSランタイムをリリースした。 これにより、ウェブブラウザ以外でもJSを実行できるようになった。
nodeを踏み台にして、JSは瞬く間に主流言語となった。 特に、そのシンプルな構文、強力な非同期パフォーマンス、イベントループ構造、そしてコミュニティがサポートする膨大なライブラリによって、ウェブだけでなく、あらゆるプラットフォームの開発者に愛用されるようになりました。 このJS開発は、どのプラットフォームでもnodeをインストールすることから始まる。Javaの開発がJDKをインストールすることから始まるように。
nodeをインストールする最も簡単な方法は、公式ウェブサイトからインストーラー・ファイルをダウンロードして実行することだ。 しかし、この方法では、複数のバージョンのnodeが必要な場合、面倒なセットアップ・プロセスを経る必要がある。 この問題を解決するために、異なるバージョンのJSをインストールしたり切り替えたりするのに役立つ様々なバージョン・マネージャーがある。
今回使用するバージョン・マネージャーは asdf-nodejs である。
2. asdf-nodejs
asdf-nodejsはasdfがnode.jsを管理するためのプラグインである。 asdfにはさまざまな言語や開発ツールのプラグインをインストールすることができ、1つのプログラムでほぼすべての言語とツールをバージョン管理できる。 詳しくはasdfの投稿を参照してほしい。
asdf-nodejsは、asdfチームによって公式にメンテナンスされている4つのプラグインのうちの1つです。 そのため、安心して使うことができる。 以下のステップでは、上記の投稿を参考にASDFをインストールし、設定したと仮定している。
3. asdf-nodejsプラグインのインストール
以下はすべてMacOSでもWindowsでも同じです。それぞれのOSで使用しているターミナルを開き、以下のコマンドを入力してプラグインを追加してください。
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
エラーメッセージが表示されなければ、正常にインストールされています。 プラグインが動作していることを確認するには、以下のコマンドを入力してください。
asdf list all nodejs
実行結果:
見ての通り、たくさんのバージョンのノードが得られる。 特定のバージョンが必要な場合は、インストール可能かどうかを確認してください。 そうでない場合は、デプロイしようとしているサービスの最新のLTS(Long-Term Support)バージョンか、最新のCurrentバージョンをインストールしてください。
ライブラリの互換性の問題が発生した場合は、簡単にバージョンを切り替えることができるので、軽くインストールしてください。
上記のように、asdf list all nodejs [specific_string]
コマンドを使って、特定の文字列を含むバージョンだけをリストアップすることもできる。
4. asdf-nodejsで最新のノードをインストールする
インストールするnodejsのバージョンが決まったら、インストールしてみよう。 今回はLTSバージョンをインストールする。 list all`コマンドが示すように、最新のnode LTSバージョンにはそれぞれコードネームがある。 最新のLTSコードネームは、nodejs githubのCHANGELOG.mdファイル (opens in a new tab)または CODENAMES.mdファイル (opens in a new tab)にあります。
nodeをインストールするコマンドは
asdf install nodejs [version_name]
[version_name]
には、任意のコードネームを入力して、正確なバージョンをフックすることができます。
また、lts
または latest
を指定すると、それぞれ最新の LTS バージョンまたは現在のバージョンをインストールすることができます。
インストール後、以下のコマンドを実行して、マシンにインストールされているバージョンを確認する。
asdf list nodejs
実行結果です:
5. node jsのインストールパスの確認
asdf-nodejsによってインストールされるnodeの異なるバージョンはすべて~/.asdf/installs/nodejs
の中に格納されている。
以下のコマンドで特定のバージョンのインストールパスを取得することもできる。
asdf where nodejs [version_name]
実行結果です:
ls -al
コマンドを使うと、コードネームでインストールした場合、正しいバージョンがインストールされ、それを指すリンクが作成されることがわかる。
6. インストールしたノードのバージョンに合わせる
nodeをダウンロードしてインストールしたので、インストールしたnodeのバージョンを使うようにマシンを設定する必要がある。 asdf-nodejsでは、以下の3つの領域で希望のnodeを設定できる。
- 現在のシェルで使用する
- 現在のディレクトリで使用する
- このコンピュータ内のあらゆる場所で使用する
3つのスコープがすべて設定されている場合は、シェル、ディレクトリ、グローバルの順に優先順位が高くなります。
6.1. 現在のシェルで起動する
現在のシェルでのみ有効にするには、コマンドは以下のようになります。
asdf shell nodejs [version_name]
この場合、現在開いているターミナルを終了してシェルを閉じると、設定はリセットされる。
実行結果:
シェル再実行後にノードのバージョンを確認する:
上の例では、asdf shell
コマンドによって、もともとマシンで使われていた19
バージョンのnodeが18
に変更されていることがわかる。
その後、ターミナルを再び開いて新しいシェルを開くと、設定が初期化されている。
6.2. カレントディレクトリでの使用
ここでは、カレント・ディレクトリで使用するnodeのバージョンを設定する方法を説明する。 これは、異なるプロジェクトで異なるバージョンを使用する場合に、設定したバージョンを自動的に読み込むので非常に便利です。 コマンドは以下の通りです。
asdf local nodejs [version_name]
例で確認してみよう。
実行結果:
node-test
というディレクトリを作成し、コマンドを使って18
バージョンのnodeを有効にしている。
親ディレクトリで使用されているnodeは19
バージョンである。
しかし、node-test
ディレクトリに入ると、自動的に設定した 18 バージョンに変更されることがわかります。
6.3. マシン全体で有効にする
最後に、マシン全体で有効にする。コマンドは以下の通りである。
asdf global nodejs [version_name]
もう一度、例で確認してみよう。
実行結果:
元々バージョン19
に設定されており、asdf list nodejs
コマンドを入力すると、先頭に*
が付いていた。
その後、global
コマンドでLTSバージョンに変更してみると、そのバージョンに変わっていることがわかる。
同じコマンドで19
に戻すと、正常に変更される。
7. 設定したnode.js実行ファイルのパスを確認する
参考までに、asdfで設定されたnode実行ファイルへのパスは常に ~/.asdf/shims/node
である。
ASDFは一般的にシムと呼ばれるテクニックを使って、設定されたバージョンのNODEを実行する。
パスを以下に示す。
which node
実行結果:
8. npmのインストール
8.1. npmバージョンの確認
npmはnodeで使用される最も一般的なパッケージマネージャで、nodeをインストールすると一緒にインストールされます。
nodeのバージョンによってインストールされるnpmのバージョンが異なり、インストールされるパッケージの管理も異なります。
nodeのバージョンを変更してからnpm --version
コマンドでバージョンを確認すると、nodeのバージョンによってnpmのバージョンが異なることがわかります。
実行結果:
8.2. npmのインストールパスの確認
インストールされているnpm実行ファイルのパスは ~/.asdf/shims/npm
で、実際にインストールされているパスは ~/.asdf/installs/nodejs/[version_name]/lib/node_modules/npm/bin/npm-cli.js
である。
8.3.. npxのインストールパスの確認
インストールされた npm 実行ファイルのパスは ~/.asdf/shims/npx
であり、実際にインストールされたパスは ~/.asdf/installs/nodejs/[version_name]/lib/node_modules/npm/bin/npx-cli.js
である。
9. yarnのインストール
npmと並んで、最も人気のあるJSパッケージマネージャの1つであるyarnも、asdfを使って簡単にインストールできる。 しかし、yarnは常にnodeを最初にインストールするので、asdfでインストールするとnodeを再インストールすることになる。 そのため、nodeのバージョンごとにnpmを使ってグローバル・パッケージとしてインストールすることを推奨する。
nodeをグローバルにインストールした状態で、以下のコマンドを入力する。
npm install --global yarn
実行結果です:
インストールが正常に完了したら、以下のコマンドでパッケージリストを確認する。
npm list --global
実行結果:
9.1. yarnバージョンの確認
最後に、yarnのバージョンチェックコマンドの結果を確認します。
yarn --version
実行結果:
10. 結論
asdf-nodejsは、node、npm、yarnをインストールする最良の方法の1つである。 特に、特定のフォルダにあるnodeのバージョンを指定する機能と、マシン全体で使っているバージョンを簡単に変更できる機能は、今後たくさん使うことになると思う。 この投稿が、JS開発を素早く簡単に始めるのに役立つことを願っている。
