Javascript
開発環境設定
Nodeのインストール: asdf-nodejs

nodeのインストール:asdf-nodejsで複数のバージョンをインストールし、パスをチェックする方法

この記事では、JavaScriptの開発環境をざっと見て、nodeやnpm、さらにはyarnをインストールする最適な方法をまとめます。 特に、バージョンマネージャを使ってnodeをインストールすることで、将来使うかもしれないnodeの多くのバージョンに備えることができます。

1. JavaScript開発環境を理解する

JavaScript(略してJS)は、ウェブブラウザのHTMLに動的な機能を追加するための言語として作られました。 そのため、JSコードはウェブブラウザ内でしか実行できませんでした。

しかし2009年、ライアン・ダールがChromeブラウザーのV8エンジンをベースにしたnode.jsというJSランタイムをリリースした。 これにより、ウェブブラウザ以外でもJSを実行できるようになった。

nodejs logo
.

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

実行結果: asdfの全nodejs結果をリストする

見ての通り、たくさんのバージョンのノードが得られる。 特定のバージョンが必要な場合は、インストール可能かどうかを確認してください。 そうでない場合は、デプロイしようとしているサービスの最新のLTS(Long-Term Support)バージョンか、最新のCurrentバージョンをインストールしてください。

ライブラリの互換性の問題が発生した場合は、簡単にバージョンを切り替えることができるので、軽くインストールしてください。

特定の条件下でnodejsバージョンのみを印刷する

上記のように、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)にあります。

githubにあるnodejsのchangelog

nodeをインストールするコマンドは

asdf install nodejs [version_name]

[version_name]には、任意のコードネームを入力して、正確なバージョンをフックすることができます。 また、lts または latest を指定すると、それぞれ最新の LTS バージョンまたは現在のバージョンをインストールすることができます。

最新の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シェルnodejs結果

シェル再実行後にノードのバージョンを確認する: ターミナル再実行後のノード・バージョンのチェック

上の例では、asdf shellコマンドによって、もともとマシンで使われていた19バージョンのnodeが18に変更されていることがわかる。 その後、ターミナルを再び開いて新しいシェルを開くと、設定が初期化されている。

6.2. カレントディレクトリでの使用

ここでは、カレント・ディレクトリで使用するnodeのバージョンを設定する方法を説明する。 これは、異なるプロジェクトで異なるバージョンを使用する場合に、設定したバージョンを自動的に読み込むので非常に便利です。 コマンドは以下の通りです。

asdf local nodejs [version_name]

例で確認してみよう。

実行結果: node set to specific directory only

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のバージョンが異なることがわかります。

実行結果: npmバージョンチェック

8.2. npmのインストールパスの確認

インストールされているnpm実行ファイルのパスは ~/.asdf/shims/npm で、実際にインストールされているパスは ~/.asdf/installs/nodejs/[version_name]/lib/node_modules/npm/bin/npm-cli.js である。

npmのインストールパスを確認する

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を使用してグローバルにyarnをインストールする

インストールが正常に完了したら、以下のコマンドでパッケージリストを確認する。

npm list --global

実行結果: npm list --global results

9.1. yarnバージョンの確認

最後に、yarnのバージョンチェックコマンドの結果を確認します。

yarn --version

実行結果: yarnバージョンチェック

10. 結論

asdf-nodejsは、node、npm、yarnをインストールする最良の方法の1つである。 特に、特定のフォルダにあるnodeのバージョンを指定する機能と、マシン全体で使っているバージョンを簡単に変更できる機能は、今後たくさん使うことになると思う。 この投稿が、JS開発を素早く簡単に始めるのに役立つことを願っている。

copyright for Javascript asdf-nodejs install

© 2023 All rights reserved.