WindowsのNodeバージョン管理を探して三千里
みなさんWindowsのNodeのバージョン管理ってどうしてますか?
私はNodistを使っていたのですが、WSL環境と相性が悪い(npmのコンフィグが一部Windowsのパスと混在して壊れた)ので、ひとまずWinもLinuxも同じ管理ツールがないものか、と探していたところ、VOLTA⚡がRustで書かれていて早いしマルチプラットフォームだぞ、ということで使用してみました。
VOLTA Install
新進気鋭なためか、MS開発の新進気鋭のパッケージ管理ツールWingetや毎度おなじみChocolateyには残念ながら対応していません。
そういうわけでGitHubからインストールしよう。.msiファイルで良いでしょう。
今回入れたバージョンは1.0.1。メジャー昇格おめでとう。みたいなタイミング。
Node Install
他のNodeバージョン管理ツールに付いているような現在のNodeのリストをババーンと列挙するコマンドはないようです。
NodeのLTSをインストールもしくは別バージョンからセット
C:\>volta install node
Nodeの最新版をインストールもしくは別バージョンからセット
C:\>volta install node@latest
インストールしたい時とバージョンをセットしたい時、どちらもinstallで行うのがシンプルで漢らしい感あります。
Yarnの最新版をインストールしたい
C:\>volta install yarn@latest
npmやYarn、pnpmあたりのツールもinstallコマンドでインストール可能。
(npmはnodeと共にインストールされます)
現在インストール済みのNode(とツールチェイン)を確認するとき
C:\>volta list all
プロジェクトでバージョン指定するPin止め
C:\Project>volta pin node@10.15
pinってのがモダンなツールっぽいおしゃれ感あります。
このコマンドを使用するとpackage.jsonにvolta向け設定が記載されます。
voltaを使用しているメンバーがこのプロジェクトをデプロイする際、自動で指定したバージョンがインストールされ、使用される仕組みです。自然な流れでいいですね。
この指定方法、そろそろNodeパッケージ管理ツール界隈で合わせてもらいたいよねー、とか思っちゃう今日この頃。
インストールしちゃったnodeのアンインストール
C:\Project>volta uninstall node error: Uninstalling node is not supported yet.
helpには「The tool to uninstall, e.g. node
, npm
, yarn
, or <package>」って書いてあるけど、現状アンインストールできないようです。
アンインストール手段はあってGitHubでサポートされてました。
サマって訳すと
~/.volta/tools/image/node/ (Windows上は%LOCALAPPDATA%\VOLTA\tools\image\node)配下のバージョン番号ディレクトリーを消せばおk
という感じで。
WebStormに設定する実体
(追記: 2021/02/13)
~\AppData\Local\Volta\tools\image\packages\pnpm\node_modules\pnpm
WebStormでpnpm等のパッケージ管理ツールのパスを設定するとき、自動で読み取ります。
また、WebStormはコマンドラインを自動生成するとき、bin/pnpm.jsを叩きます。そのため、自動で抽出してきたパスの場所がずれると、動作しません。
VOLTAが設定するグローバルなツールのパスは ~/.volta/bin/pnpm
です。
このファイルの中身はコマンドが書いてあり、実質的にはショートカット的な働きになっています。そして、このファイルの配下にはpnpm.jsは存在しないのです。
上記のパスはpnpmの例ですが、他のツールの場合もpackages配下を確認してください。
まとめ
使用感としては軽快で扱いやすいです。
シンプルなコマンド体系ですが、逆に大量のコマンドを覚える必要はなく、VOLTAがやれることに集中できるという選択のためで、そういった面もまた扱いやすさになってますね。
気に入ったのでしばらくはWindowsもWSLもVOLTA使っていきます。
VOLTAの現場からは以上でーす。