2020年12月21日にVoltaの初の安定バージョン1.0がリリースされました🎉
Voltaは手間のかからないJavaScriptパッケージマネージャであることを掲げており、グローバルインストールされたJavaScriptツールをプロジェクトごとに簡単に管理することができます。
Voltaを導入すると以下のようにディレクトリを切り替えるだけでグローバルインストールされたJavaScriptツールのバージョンを切り替えることができます。
volta $: cd project1
project1 $: tsc --version
Version 3.4.5
project1 $: cd ..
volta $: cd project2
project2 $: tsc --version
Version 2.9.2
これだけでも「Volta便利!」と思った方も多いのではないでしょうか。
この記事では以下の公式ドキュメントをもとにVoltaの使い方を解説していきます。
※ 記事執筆時点では以下のバージョンを使用しています。
$: volta --version
1.0.1
Voltaをインストール
まずはVoltaをインストールしていきましょう。
Unix系OS
Unix系OSの場合は以下のコマンドでVoltaをインストールすることができます。
インストール後はターミナルを再起動するか.bash_profileなどを再読み込みしてください。
curl https://get.volta.sh | bash
Windows
Windowsの場合はこちらからVoltaをインストールしてください。
Windows Subsystem for Linux
WSLの場合はUnix系OSと同じ手順でインストールしてください。
Voltaでツール管理
ここからは実際にVoltaを使用してJavaScriptツールの管理を体験していきます。
まずはプロジェクト用のディレクトリを2つ作成します。
以下のコマンドを実行してください。
mkdir project1
mkdir project2
ここではこの2つのプロジェクトは別々のバージョンのnode・typescriptを使用していると仮定して進めていきます。
Nodeエンジン(node・yarn)のバージョンを固定
Voltaではvolta pinコマンドを使用してNodeエンジンのバージョンをプロジェクトごとに固定することができます。
先ほど作成したそれぞれのプロジェクトでNodeエンジンのバージョンを固定してみましょう。
以下のコマンドを実行してください。
cd project1
npm init -y
volta pin node@14.15.4
volta pinコマンドを実行するとpackage.jsonに以下の設定が追加されます。
"volta": {
"node": "14.15.4"
}
このようにvolta pinを実行するとpackage.jsonにnodeのバージョンが記載されます。
voltaはこの設定を見て使用するバージョンを切り替えてくれるので、ディレクトリを切り替えるだけでnodeのバージョンも切り替えることができます。
また、package.jsonに記載されることでプロジェクトメンバー内で必ず同じバージョンのnodeを使用でき、さらにバージョン管理にも含めることができるのもVoltaの利点です。
それでは以下のコマンドでnodeのバージョンを確認してみてください。
$: node --version
v14.15.4
このように14.15.4が使用されているのが確認できます。
次にproject2で違うバージョンを指定してみます。
以下のコマンドを実行してください。
cd project2
npm init -y
volta pin node@10.15.3
こちらのプロジェクトではvolta pinでnodeのバージョンを10.15.3に固定しました。
それでは以下のコマンドでnodeのバージョンを確認してみてください。
$: node --version
v10.15.3
このようにディレクトリを切り替えるだけでnodeのバージョンを切り替えることができます。
JavaScriptツールのバージョンを固定
Nodeエンジンの他にもVoltaではグローバルインストールされたJavaScriptツールのバージョンを自動的に切り替えてくれます。
まずは以下のコマンドでtypescriptをインストールしてください。
npm i -g typescript@4.1.3
このコマンドを実行するとグローバルにtypescriptの4.1.3がインストールされます。
$: tsc --version
Version 4.1.3
次にproject1ではtypescriptの3.4.5を使用していると仮定してインストールしていきます。
以下のコマンドを実行してください。
$: cd project1
$: tsc --version
Version 4.1.3
現状では先ほどインストールしたtypescriptの4.1.3が認識されています。
次にproject1にtypescriptの3.4.5をインストールします。
以下のコマンドを実行してください。
npm i typescript@3.4.5
先ほどまではtypescriptのバージョン4.1.3が認識されていましたが、このようにプロジェクトにtypescriptの3.4.5がインストールされているとVoltaが自動的にバージョンを切り替えてくれます。
以下のコマンドを実行して確認してみてください。
$: tsc --version
Version 3.4.5
このようにプロジェクトで使用しているバージョンに合わせて3.4.5に切り替わっています。
次にproject2にも別のバージョンのtypescriptをインストールしてバージョンが切り替わるか確認してみます。
以下のコマンドを実行してください。
cd project2
npm i typescript@2.9.2
typescriptの2.9.2をインストールしました。
以下のコマンドでバージョンを確認してみます。
$: tsc --version
Version 2.9.2
このようにディレクトリを切り替えるだけでtypescriptのバージョンを切り替えることができました。
まとめ
今回はグローバルインストールされたJavaScriptツールのマネージャであるVoltaの使い方を見てきました。
「手間のかからない」を掲げている通り、ディレクトリを切り替えるだけなので、非常に手軽に扱うことができました。
さらにVoltaはpackage.jsonに記載されている内容を見にいくので、バージョン管理と相性が良いこともVoltaのメリットであると思います。
最近はDockerなどを使用してIaCを取り入れる機会が増えてきていますが、Dockerを使うまででもない場合などはVoltaの採用を検討してみてはいかがでしょうか。
それではここまでお読みいただきありがとうございました。