Node.jsのバージョン管理ツールのfnmを使ってみる

Windows環境で新しくNode.jsのバージョン管理ツールを導入する機会があったので、fnmを試してみました。

設定方法

Windows環境でのインストールの場合、パッケージ管理ツールのScoopやChocolatey、Cargoなどを使ってインストールするようです。
今回はChocolateyを使うので、まずはChocolateyのインストールを行います。

Chocolatey公式のインストールページにアクセスします。
Step1はメールマガジンの登録、Step2はインストールする対象を選択します。(今回は個人なのでIndividual)

その下にインストール方法の記載がありますが、手順2の下にあるコードをコピペしておいてください。

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

Windowsのスタートボタンを右クリックして、Windows PowerShell(管理者)(A) を選択します。

先ほどコピペしたコードを張り付けて実行します。
インストール完了後、下記を実行してバージョン情報などが表示されていればOKです。

choco

これでChocolateyの準備が完了したので、fnmのインストールを行います。
引き続き管理者権限のPowerShellで下記を実行します。

choco install fnm

次にfnm用のシェルを設定します。
設定方法はいくつかありますが、今回はコマンドプロンプトで使用する想定の設定になります。

引き続きPowerShellで下記を実行します。

reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor" /v AutoRun /t "REG_SZ" /d "call c:%HOMEPATH%\.cmdrc.cmd" /f

これでコマンドプロンプト起動時に.cmdrc.cmdの処理を行うようになりました。
Windowsキー + R で ファイル名を指定して実行を開き、以下を実行します。

%HOMEPATH%

開いたフォルダ内に.cmdrc.cmdというファイルを作成して、以下の内容にします。

@ECHO OFF
IF "%FNM_SETUP%"=="True" (
    EXIT /b
)
SET FNM_SETUP=True
FOR /f "tokens=*" %%z IN ('fnm env --use-on-cd') DO CALL %%z

これでfnmを使う準備ができました。

使い方

インストールできるバージョンの一覧を確認してみます。
コマンドプロンプトを開いて下記を実行します。

fnm list-remote

インストールできるバージョンの一覧が確認できました。

インストールする場合は「fnm install 【バージョン指定】」のようにします。

fnm install v16.14.2

バージョンの切り替えは「fnm use 【バージョン指定】」のようにします。

fnm use 16.14.2

インストール済みのバージョンの確認は以下になります。

fnm ls

最後にバージョンの自動切換えを試してみます。
新しく作成したフォルダに.node-versionを設置して、以下の内容にします。

v17.9.0

作成したフォルダにコマンドプロンプトで移動すると、以下のように表示されました。

Can't find an installed Node version matching v17.9.0.
Do you want to install it? answer [y/n]:

.node-versionで指定されているバージョンがまだインストールされていない場合、インストールするかどうかを確認されます。
yと入力すると17.9.0のバージョンがインストールされます。

別のフォルダに.node-versionを設置して、先ほどインストールしたバージョンを指定してみます。

v16.14.2

このフォルダに移動した場合は以下のように表示され、自動的に指定したバージョンに切り替わります。

Using Node v16.14.2

参考サイト

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2022年6月
 1234
567891011
12131415161718
19202122232425
2627282930