【Node.js】fnmでバージョン管理する

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【Node.js】fnmでバージョン管理する

2024-7-2 |

Node.jsのバージョンをfnmで管理したい!

概要

今回の記事では、Node.jsのバージョンをfnmで管理する手順を掲載する。

fnmはWindowsにも対応してて、ディレクトリー毎に使いたいNode.jsのバージョンを自動に切り替えれる!

仕様書

環境

  • Windows 11 Home 23H2
  • Chocolatey 2.3.0
  • Ubuntu 22.04.4 LTS

手順書

Windowsにインストールする例とUbuntuにインストール例を挙げる。使い方は共通。

インストール(Windows)編

Chocolateyを使うとインストールが楽なので下記の記事を参考にインストールする。

Chocolateyを使ってfnmをインストールする。

choco install fnm

PowerShell用のスクリプトを保存するパスを調べる。

$Profile

私の環境ではC:/Users/<user_name>/Documents/PowerShell/Microsoft.PowerShell_profile.ps1だった。
ディレクトリーPowerShell以降が存在しなかったので、ディレクトリーPowerShellを作ってその中にMicrosoft.PowerShell_profile.ps1を作った。

Microsoft.PowerShell_profile.ps1に下記を入力して保存する。

fnm env --use-on-cd | Out-String | Invoke-Expression

Microsoft.PowerShell_profile.ps1はPowerShellが起動した時に自動的に読み込まれるスクリプトだ。Ubuntuで言うbash_profile的な!?

PowerShellを再起動してfnmが実行できればOKだ!

fnm -v

インストール(Ubuntu)編

curlを使ってfnmをインストールする。curlが無い場合はsptでインストールしておく。

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

使い方編

fnmでインストールできるNode.jsのバージョンを確認する。

fnm list-remote

fnmでインストールするNode.jsのバージョンを指定してインストールする。

fnm install 22.3.0

使用するNode.jsのバージョンを指定する。複数バージョンをインストールした場合はこのコマンドでバージョンを切り替える。

fnm use 22.3.0

ディレクトリーにNode.jsのバージョンが書かれた.node-versionがあるとそのディレクトリーではそのバージョンのNode.jsが使用される。該当のバージョンがインストールされてない場合はインストールが促される。便利!

.node-versionにはnode -vで出力される文字列をそのまま書く。下記のような感じ。

v22.3.0

まとめ(感想文)

nの方がシンプルなんだけども、fnmはディレクトリー毎に使うバージョンを自動で切り替えて便利。Windowsでも使えるっていうのもポイント高い!