前提:Windows
用途:個人開発だが本格開発でも通用するスキームでやりたい
比較は以下の3つ
- nvm-windows
- fnm
- Volta
結果的に選んだのはVolta。
まずは選ばなかった2つの理由を説明。
nvm-windowsを選ばなかった理由
そもそもnvmというのはMac/Linuxで使えるNodeバージョン管理としてめっちゃ有名なやつ。
んで、nvm-windowsは有志が「似たような動きをする別ツール」として開発したもの。
なので機能は高くない。
重くて機能しょぼいと評判である。
だが日本ではnvm-windowsが結構使われている。
これはおそらく、
「Nodeの管理にはnvmってのを使うらしいぞ!」
「ん?Windowsだとnvmは使えないのか?」
「nvm-windowsってのがあんじゃん!たぶんこれがWindows用の公式ツールだわ」
という感じで広まっただけだと思われる。
実際、機能やセキュリティ面でnvm-windowsを推奨している記事は見つからない。
そして、私はプロジェクトを移動するごとに勝手にNodeバージョンが切り替わってほしい。
nvm-windowsでもできないことはないが、わざわざ使う理由もないので却下。
fnmを選ばなかった理由
fnmは軽量・高速なバージョン管理ツール。
nvmの代わりとしてNext.js等の公式で推奨されてもいるらしい。
ただ、WindowsユーザーがVSCodeから使おうとすると面倒くさい。
というのも、プロジェクトごとにバージョンの自動切換えをしようとした場合、
「cdコマンドで場所を移動した場合、プロジェクトを切り替える」という設定をするしかない。
つまり、VSCodeで「ファイル」→「フォルダを開く」などからフォルダ移動した場合には、切り替わってくれないのだ。
私はcdコマンドでフォルダを移動するほどガチ勢ではない。
一応力技でなんとかすることもできるのだが、面倒だし結局nvmと変わらない。
なのでこれも却下だ。
Voltaを選んだ理由
自動切り替え可能
高速・軽量で処理が速い
そして最近の人気ツールっぽいので、日本語のドキュメントはそこまで多くなかったですがVoltaを使うことにしました。
Voltaのインストール方法
開発者モードをオンにする
まず、Windowsの設定から開発者モードというのをオンにしておきます。
スタートメニューの「設定」から「システム」「開発者向け」>「開発者モード」のところをオンにします。
確認画面が出るので「はい」を押してください。
これをやる理由はVoltaがNodeのバージョンを切り替える際に開発者モードの権限を要するため、らしいです。ここに関しては詳しくはわかっていませんが、とりあえずやっておくべきでしょう。
Voltaのインストール
以下のGitHubページにいきます。
最新のリリース情報があるはずです。2025年10月時点ではv2.0.2が最新でした。
その中で「volta-2.0.2-windows-x86_64.msi」みたいなやつをクリックします。
クリックするとインストーラーがダウンロードされるはずです。
そしたらダウンロードされたインストーラーをダブルクリックで起動します。
画面を以下の通りに進みます。
- Welcome to the Volta Setup Wizard → Next
- End-User License Agreement → Next
- Ready to install Volta → Install
「この不明な発信元から~」というアラートがでるので許可。
そしたらFinishで完了です。
インストールされたかの確認のため、VSCodeのターミナルで以下のコマンドを打ってみましょう。
volta --version
これでバージョンが表示されたら無事にVoltaがインストールされてます。
Voltaを使ってNodeのバージョンを管理する
まず何かのバージョンのNode.jsをインストールしてみましょう。
とりあえず最新の安定版でよいと思います。
2025年10月現在ではv22が最新安定板(LTS)なので、以下のコマンドを打ちます。
volta install node@22
これでインストールが始まり、特定バージョンのNodeが入れられました。
プロジェクトごとにバージョンを指定する
Voltaでは、各プロジェクト単位で自動でNode.jsのバージョンを切り替えることができます。
やり方としては、プロジェクト直下のpackage.jsonにバージョンを書いておけばOKです。
まずプロジェクトの直下に移動し、package.jsonを作ってください。
以下のコマンドを打つと自動的にいい感じのpackage.jsonが作られます。
npm init -y
package.jsonができたら、ターミナルにコマンドで以下を入れます。
volta pin node@22
これをするとpackage.jsonにバージョン固定の記載(以下)が入り、Nodeが固定されます。
"volta": {
"node": "22.20.0"
}
npmのバージョンも固定しておきましょう。
以下のコマンドを打ってください。
volta pin npm@10
これでpackage.jsonの該当部分の記載は以下のようになったはずです。
"volta": {
"node": "22.20.0",
"npm": "10.9.4"
}
設定はこれだけです。
あとはこのプロジェクトを開くたびに、毎回このNode.jsとnpmのバージョンに自動で切り替わってくれます。
めっちゃ便利ですね。
コメント