LoginSignup
15
15

More than 1 year has passed since last update.

Nodeのバージョン管理ツールVOLTA⚡

Last updated at Posted at 2021-02-07

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に設定する実体

(追記:2022/06/29)
WebStorm2022.1からVoltaの機能が強化され、pnpm等のツールパス ~/.volta/bin/pnpm に対応しました。
下記のimage配下の実体への設定は不要になっています。

(追記: 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の現場からは以上でーす。

参考

https://volta.sh/
https://github.com/volta-cli/volta

15
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
15