動機
JavaScript Primerで公開されているTODOリストを作りたいと思ったから
そこで、Node.jsのインストールが必要ということがわかった
少しNode.jsを調べるとバージョンが複数あることが判明
Pythonをやっていたときにバージョン管理をせずに痛い目にあったことを思い出し、調査を始めた
参考にした記事
- 
Node.jsのバージョン管理ツールを改めて選定する【2021年】
- 河童 エクマさん執筆の記事
 - 技術選定の方法から学べる、最もお世話になった記事
 
 - 
WindowsでNode.jsバージョン管理ツールをどれにするか
- piyokoさん執筆の記事
 
 - 
Mac→Windowsに移行した際にNode.js管理ツールにnvm for windowsを選んだ理由
- 株式会社テクノデジタルさん執筆の記事
 
 
各バージョン管理ツールの比較(2024/01/04)
河童 エクマさんの記事で紹介されていた表がわかりやすかったので
Support automaticallyの項目以外を調べて、更新してみました。
| Name | Windows | macOS | Support automatically | GitHub Stars | Version/Year | 
|---|---|---|---|---|---|
| nodist | ✅ | - | .node-version package.json(engine.node)  | 
1.6k | v0.9.1 / 2023 | 
| asdf | - | ✅ | .node-version .nvmrc  | 
19.4k | v0.13.1 / 2023 | 
| fnm | ✅ | ✅ | .node-version .nvmrc  | 
14.2k | v1.35.1 / 2023 | 
| n | - | ✅ | .n-node-version .node-version .nvmrc package.json(engine.node)  | 
18.2k | v9.2.0 / 2023 | 
| nave | ✅※1 | ✅ | .naverc | 1.6k | v3.5.1 / 2023 | 
| nodebrew | - | ✅ | - | 1k | v1.2.0 / 2022 | 
| nodenv | - | ✅ | .node-version | 2.1k | v1.4.1 / 2023 | 
| nvm | - | ✅ | .nvmrc | 72.7k | v0.39.7 / 2023 | 
| nvm-windows | ✅ | - | - | 32.5k | v1.1.12 / 2023 | 
| nvs | ✅ | ✅ | .node-version nvmrc  | 
2.5k | v1.7.1 / 2023 | 
| volta | ✅ | ✅ | package.json(volta.node) | 9.2k | v1.1.1 / 2023 | 
※1:Windowsに関する記載を見るにbashが必要
nvm-windowsを使ってみる
- 選定の基準
- 信頼性
 - 生産性
- 今回は別のツールから移行ではないので、導入のしやすさにのみ注目
 
 - 情報収集が容易かどうか
- Nodejsを初めて触るので、参考になる情報が多いほうが良い
 
 
 
上記の選定基準で考え、結果nvm-windowsにしました。
デメリットのクロスプラットフォームではないとプロジェクトごとの自動切り替えがないに関しては
今はNodejsを試したいだけなので、導入のしやすさと情報量というメリットが上回りました。
所感
調べていると、fnmやvoltaに決めたという記事が多くありました。
私も最初はそれに従う予定でした。
ただ、クロスプラットフォームではないとプロジェクトごとの自動切り替えがないというデメリット
を持っているにもかかわらず、githubのスター数が圧倒的に多いのはなぜだろう。
今回使ってみて、それが分かればいいなと思います。