LoginSignup
16
17

More than 1 year has passed since last update.

fnm (Fast Node Manager) のインストール方法と使い方

Last updated at Posted at 2022-01-14

2023年1月30日追記
fnm から Volta に移行しました。
移行方法、使い方については以下の記事をご確認ください。


これまで Windows で Node.js のバージョン管理は Nodist を利用していましたが、2019年3月30日のリリース以降更新されていません…:sleeping:

そんな理由から別のバージョン管理ツールに乗り換えをすすめる記事をちらほら見かけるようになりました。

乗り換えなければと思いつつ、

  • Node.js が利用できなくなると仕事にならない
  • 種類が多くてどれを選んだらいいのかわからない
  • インストールが大変そう

という理由からずっとスルーしていました…

しかし、以下記事と出会い、 fnm (Fast Node Manager) に乗り換えることにしました!

fnm の詳細は以下をご覧ください。

というわけで、 fnm のインストール方法を紹介します。

ちなみに Nodist は以下の手順でアンインストール:fire:

  1. 「プログラムと機能」を開き、Nodist をアンインストール
  2. Nodistフォルダ削除
    C:\Program Files (x86)\Nodist
  3. npm-cacheフォルダ削除
    C:\Users<ユーザー名>\AppData\Roaming\npm-cache

:apple: mac の場合

以下コマンドを実行するだけでインストール完了です:ok_hand:

curl -fsSL https://fnm.vercel.app/install | bash

:computer: Windows の場合

以下からダウンロードし、PATH が通っているところに置くだけで利用できるようですが、設置場所がわからないので Chocolatey を利用してインストールしていきます。

1. Chocolatey のインストール

1-1. コマンドをコピー

公式サイトにアクセスします。

Step 2 の「Choose How to Install Chocolatey」はデフォルトで Individual(個人)が選択されているのでそのまま。

「Now run the following command:」下のコマンドをコピーしておきます。

chocolatey.png

1-2 管理者権限で PowerShell を起動

  1. PowerShell を検索
  2. PowerShell を右クリック → 管理者として実行

1-3. PowerShell でコマンドを実行

1-1. でコピーしたコマンドを貼り付けて実行すると最新版のインストールが始まります。

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'))

ログ中に Chocolatey (choco.exe) is now ready. と出てればインストール完了です。

1-4. インストールの確認

正常にインストールできたか確認のため、以下コマンドで Chocolatey のバージョンを確認します。

choco -v
> 0.11.3

2. fnm をインストール

管理者権限で PowerShell を起動し、以下コマンドを実行。

choco install fnm -y

3. シェルセットアップ

利用するシェルに合わせて fnm の初期化処理を設定する必要があります。

コマンドプロンプトの設定はレジストリをいじる必要があったり面倒なので、PowerShell だけで利用することにしました。

3-1. Windows PowerShell & PowerShell

プロファイルファイルを Microsoft.PowerShell_profile.ps1 という名前で作成し、以下コマンドを記述します。

Microsoft.PowerShell_profile.ps1
fnm env --use-on-cd | Out-String | Invoke-Expression

作成したプロファイルファイルを以下に格納します。

Microsoft.PowerShell_profile.ps1 の格納場所は PowerShell で $profile と入力すると確認できます。
すでにファイルがある場合はコマンドを追記してください。

# Windows PowerShell
C:\Users<ユーザー名>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
# PowerShell
C:\Users<ユーザー名>\Documents\PowerShell\Microsoft.PowerShell_profile.ps1

4. インストールの確認

正常にインストールできたか確認します。

PowerShell で以下コマンドを実行し、バージョン番号が表示されればインストールは終了です:ok_hand:

fnm -V
> fnm 1.29.2

:beginner: fnm の使い方

fnm のコマンドの一覧は以下ページで確認できます。

インストールできるバージョンの確認

fnm list-remote

インストール

fnm install {version}

アンインストール

fnm uninstall {version}

利用するバージョンの指定

fnm use {version}

# デフォルトのバージョンを指定する場合
fnm default {version}

利用するバージョンの確認

fnm current

# 一覧で確認
fnm list

利用するバージョンの自動変更

プロジェクトのルートディレクトリに利用したい Node.js のバージョンを記述した .node-version ファイルを設置しておくと自動的にバージョンを変更してくれます。
:smile:\スッゴイ便利/:laughing:

.node-version
v16.17.0

指定されたバージョンがない場合は、以下のように fnm がインストールするか聞いてきます。
Can't find an installed Node version matching v14.18.3.
Do you want to install it? answer [y/n]:

以下コマンドを実行すると現在利用中のバージョンを記述した .node-version ファイルが生成されます。

node -v > .node-version
16
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
17