Windowsにおけるバージョン管理込みでのNode.jsインストール手段に微妙なものが多い問題
nodejs.org にある(あった)もの
fnm
Windows上でのインストールの問題に関するNode.jsチームからの繰り返しのpingにメンテナーが応じなかったため、Windows向けの公式インストール手段が nodejs.org から削除された
実際に必要な手順が複雑すぎる問題。fnm側にその手順を行うPowerShellスクリプトが取り込まれるはずだったが、「この日までに取り込む」と言われてから(実際には取り込まれず)音沙汰がない
chore(download): remove windows instructions from fnm by avivkeller · Pull Request #7769 · nodejs/nodejs.org
fnm download snippet fails on Windows · Issue #7487 · nodejs/nodejs.org
shell profileが必須
shell profile がないと PATH が設定されず、ツールがNode.jsを検出できず、ツール側で明示的にパスを設定する必要が出る
Windows install did not add PATH environment after installed node. · Issue #1410 · Schniz/fnm
fix(vscode): properly retrieve Node.js when it isn't by default on the PATH by EDM115 · Pull Request #14920 · oxc-project/oxc (closed)
それでもNode.js関係者が「個人的にはこれ使ってておすすめ」と挙げる候補には入る
What is the currently recommended node version manager for Windows? · Issue #8637 · nodejs/nodejs.org
Unfortunately, none of the version managers listed on the website meet our requirements to be "Recommended", however, they are all excellent community choices.
残念ながら、ウェブサイトに掲載されているバージョンマネージャーのいずれも「推奨」基準を満たすものはありませんが、いずれも優れたコミュニティ製の選択肢です。
推奨基準について
feat: official vs community and instructions for downloads page by ovflowd · Pull Request #7365 · nodejs/nodejs.org
chore: updated docs for releases by ovflowd · Pull Request #7616 · nodejs/nodejs.org
Define criteria for inclusion in the Downloads page · Issue #7536 · nodejs/nodejs.org
Docker
Dockerインストールが必要……
fnm and nvm disabled on "Download Node.js" page · Issue #7963 · nodejs/nodejs.org
Off-topic: Gotta love how the closest of an official thing we have for Windows is Docker lol.
余談:Windows向けの公式サポート環境としては、Dockerが一番近いというのは笑っちゃいますね(笑)。
そうだね🥴
Chocolatey
公式MSIインストーラをそのまま使っていて、同じ問題がある
インストール先フォルダ設定: choco install nodejs --install-arguments='INSTALLDIR="C:\nodejs"'
有料版Chocolateyだと --install-directory オプションがあるらしい
公式MSIインストーラ
要管理者権限
デフォルトで Program Files フォルダに入る
npm i -g の実行は問題ない。インストーラが %appdata%\npm に入るよう npmrc を配置する
ただインストール時に %appdata%\npm へのPATH設定がcurrent userにのみ行われるので、他ユーザーについては別途設定が必要
Node.js 24以下において、 corepack enable でのshims配置に管理者権限が必要
https://github.com/nodejs/corepack#corepack-enable--name
Permission issue on windows. · Issue #71 · nodejs/corepack
corepack enable --install-directory $env:APPDATA\npm pnpm yarn で対応可能ではある
Node.js 25以降は npm i -g corepack でcorepackを入れるようになったため解消
他
winget
デフォルトではMSIインストーラーを使用
インストール先フォルダ設定: winget install --location "C:\nodejs" OpenJS.NodeJS.LTS
--scope user または --installer-type portable でzip版から展開
%LOCALAPPDATA%\Microsoft\WinGet\Packages\OpenJS.NodeJS.LTS_<source>\node-v24.15.0-win-x64\ に展開
zip版から展開の場合、npmrc などはなし
→マイナー/パッチバージョン更新の度に npm 環境作り直し
nvm-windows
「後継のRuntimeを作っている」「新バージョンを公開するとアンチウイルスの誤検知によるメールがたくさん来る」ことを理由に、多くの要望があってPullRequestも出ている変更がなかなか入らない
Issue: When Installing NPM looking at wrong folder location · Issue #1221 · coreybutler/nvm-windows
Fix npm install by kwikwag · Pull Request #1220 · coreybutler/nvm-windows
作者の手元では直したらしい (2025-05-04) が、ずっとリリースされてない
Issue: npm install error · Issue #1240 · coreybutler/nvm-windows
2025-05-22 の投稿
リリースが公開されると、一定期間にわたって複数のウイルス対策ソフトがこれをウイルスとして検知する現象が発生します(多くのAVベンダーは精度の低い機械学習アルゴリズムを使用しているため、誤検知が多く発生します)。また、この件に関するガバナンス報告書や出所証明の発行も必要になります。政府機関、軍、金融機関などから、CrowdStrikeのレポートを含む多数の確認依頼メールが私のもとに殺到します。これらはすべて、当該ソフトウェアが確かに安全であることを証明するためのものです。要するに、リリース作業は私の時間を大量に消費するため、決して軽々しく行えるものではないのです。
私は次のリリースがすべての人にとって確実に安定していることを保証しようと努めています。
この投稿から1年が経過……。
2026-01 の投稿
開発は最終段階に入っています。Runtimeのプラグインとして機能するAuthorアプリはすでに完成しており、関連するサポートサービスの大半も完了しています。Runtimeはバージョン管理機能と環境管理機能の2つのコンポーネントで構成されていますが、コアとなるバージョン管理部分は現在完了しています。 最初にリリース予定の環境管理機能については、約75%の開発が完了していますが、まだテスト作業が残っています。
また、適切なリリースを行うために必要な中核的なビジネスマイルストーンも達成しました(このプロセスには約1年を要しました)。
共同開発者と定期的に更新を公開することについて真剣に話し合いましたが、実際にその段階に達する前にリリース可能になるかもしれません。いずれにせよ、更新を公開し始めた際に情報を受け取りたい場合は、以下の方法で登録できます:...
現在公開されているバージョン (1.2.x) に問題があり、旧バージョン (1.1.12) を使ったほうがいい場合がある
この問題の修正が上記により入らない
VSCode開発で「nvmよりfnmがおすすめ」とされている (Windowsの話かどうか微妙だけど)
まだMSのドキュメントにはnvm-windowsでNode.jsをインストールする手順が書いてあるし、Node.js関係者?の一人も勧めている
Set up Node.js on native Windows | Microsoft Learn
ja: ネイティブ Windows で Node.js を設定する | Microsoft Learn
What is the currently recommended node version manager for Windows? · Issue #8637 · nodejs/nodejs.org
arm環境下じゃなければ v1.1.12 が安定してそう (2026-05 現在)
Fix npm install by kwikwag · Pull Request #1220 · coreybutler/nvm-windows
1. Use v1.1.12
volta
Volta is unmaintained; we recommend migrating to mise · Issue #2080 · volta-cli/volta
開発終了
mise
Windowsサポートが最近入って、Volta開発者も勧めている
shimsのパスを自動でセットするからscoopでのインストールが推奨らしい
自動でセットされなくなっとるやん
mise: remove unused PATH env by Kosette · Pull Request #6775 · ScoopInstaller/Main
%LOCALAPPDATA%\mise\shims への追加が必要そう
discussionへのメンテナの返事はわりとすぐ来ることが多そうだが、全部ではない。Windows関係の問題については放置され気味かも
Node.js の例じゃないけど After installing a Python version, default packages fail to install due to bad path to Python EXE · jdx/mise · Discussion #8872
proto https://github.com/moonrepo/proto
Voltaからの移動候補として、「テレメトリを無効にさえすればほぼ全機能使える」と挙がっている
Comparing all Node Version Management tools · TheJaredWilcurt/blog · Discussion #40
Setting up Proto as a Volta replacement · TheJaredWilcurt/blog · Discussion #41
知名度がな~~
scoop
私はシンプルで良いと思う
WindowsのPATHにしっかり設定される
nodejs22, nodejs24 などの切り替えが再インストールせず可能(これがMSIインストールより良い)
ただ、マイナーバージョン以下の切り替えはちょっと面倒?
自分の場合
正確にマイナー/パッチバージョンを指定する必要がなければ scoop
VSCodeを開発するなら .nvmrc が反映される必要があるので……
fnmか、mise settings add idiomatic_version_file_enable_tools node を実行したうえでmise
Node | mise-en-place
#Node.js