Vueヴァージョンの異なる複数プロジェクトを開発環境に保持したかったので、Node.jsも異なるヴァージョンを保持する必要があった。
異なるヴァージョンのNode.jsを1つのPC内で使い分ける手段の備忘録を記載。こちらの記事はWindowsへのインストールを前提としています。
fnmとは
Node.jsのヴァージョンを管理するためのユーティリティ。異なるヴァージョンのNode.jsをPCへインストールし、プロジェクトによってヴァージョンの切り替えを可能とするツール。
ヴァージョン管理ユーティリティはvoltaやnvm等、種類が豊富だが、開発環境の制約上、管理者権限でなくても動作する、という条件があり、fnmを選定した。
インストール手順
ダウンロード
以下のURLの「fnm-windows.zip」リンクからzipファイルをダウンロード。
https://github.com/Schniz/fnm/releases
zipを展開
zipにはexeファイルが1つだけ入っているという、とても簡素な作りです。任意の場所に展開します。
(筆者はユーザフォルダのAppData\Roamingへ展開しました。)
パス通し
コマンド実行ができるよう環境変数へ設定します。
システムのプロパティを開く
キーボードの「Windows」+「R」を押し、「ファイル名を指定して実行」が開いて、名前に「sysdm.cpl」を入力。
「OK」をクリック。

環境変数を開く
システムのプロパティで「詳細設定」タブを表示し、「環境変数」ボタンをクリック。

fnm.exeのパスを登録
展開したfnm.exeが含まれるフォルダの絶対パスを登録します。
設定後、「環境変数」ダイアログ、「システムのプロパティ」ダイアログを閉じます。
確認
コマンドプロンプトを開き、以下を実行。ヴァージョンが表示されれば、インストール完了。
fnm -V
シェルのセットアップ
ヴァージョンの切り替えを行う「fnm use {ヴァージョン}」コマンドを実行するには、セットアップを行う必要がある。
今回は、PowerShellのセットアップを行う。
プロファイルファイル作成又は追記
PowerShellを起動し次のコマンドを実行
$profile
PowerShellが使用するプロファイルファイルのパスが表示される。
表示されたパスが存在していれば、ファイルを開く。
存在していなければ、表示されたパス通りにフォルダ、ファイルを新たに作成し、ファイルを開く。
コマンドを記載
次のコマンドをファイルに書き込み、保存して閉じる
fnm env --use-on-cd | Out-String | Invoke-Expression
以上で準備完了
fnm installコマンドでNode.jsをインストール
PowerShellを起動し、以下のコマンドを実行
fnm install {ヴァージョン番号}
例)fnm install 20
インストール可能なヴァージョンの一覧を表示するには次のコマンドを実行
fnm list-remote
Node.jsヴァージョンの切り替え
プロジェクトのフォルダへ移動し、以下のコマンドを実行
fnm use {ヴァージョン番号}
例)fnm use 20
ヴァージョンの自動切換え
プロジェクトのルートディレクトリへ「.node-version」ファイルを置くことで、自動で切り替えが可能。指定されているヴァージョンがインストールされていなければ、対話式で自動インストールが行われる。チームでヴァージョンを統一するのも楽にできる。
.node-versionへの記載内容は以下。
v20.11.0
その他のコマンド
インストールされているヴァージョンの一覧を表示したり、特定のヴァージョンをアンインストールしたりなど、他にも多数のコマンドが用意されている。
コマンドの一覧はこちらからご確認を。


コメント