VoltaでNode.jsのDefaultバージョンを指定する方法

2024.06.19

はじめに

皆さんはNode.jsのバージョン管理にどのようなツールを使用していますか?

私はVoltaを使用しています。Voltaを使用すれば、Node.jsだけじゃなくYarnなどのパッケージマネージャーなどもプロジェクトごとに管理できて便利ですよね。

先日、VoltaでNode.jsのバージョンを切り替えている際に、グローバルに適用するDefaultバージョンを切り替えたい時がありました。

しかしその際、特定のバージョンをDefaultに指定するコマンドってなんだっけ?となりました。Volta上にはそのバージョンは既にインストールされている状態での疑問でした。今回は、その際に解決した方法を共有します。

使用したVoltaのバージョンは1.1.1です。

結論

早速結論です。以下のコマンドを実行するだけです。

volta install node@<指定したいバージョン>

例えば、Node.jsのバージョン18.18.0を使用したい場合はこのように実行します。

volta install node@18.18.0

このコマンドにinstallと書いてありますが、使用したいバージョンが既にインストールされている場合にもこのコマンドを実行してDefaultバージョンを切り替えます。ちょっとややこしいですよね。

これは、Yarnやnpmなどの他のツールを設定する時も同様です。

説明

volta installコマンドは、Volta上に使用したいバージョンが既にインストールされている場合には、インストールをスキップしてそのバージョンをDefault設定だけします。

公式ドキュメントによると、volta installコマンドは以下のように説明されています。

Installing Node engines

ツールをツールチェインにインストールするには、そのツールのデフォルト・バージョンを設定します。Voltaは、異なるバージョンを使用するようにVoltaを設定したプロジェクト・ディレクトリ内で作業していない限り、常にこのデフォルトを使用します。デフォルト・バージョンを選択すると、Voltaはそのバージョンをローカル・キャッシュにもダウンロードします。(DeepL翻訳)

volta installコマンドは、Volta上に使用したいバージョンのツールをインストールし、かつそれをDefaultとして設定する。ということです。

使いたいバージョンがインストールされている場合でも、volta installコマンドで設定してね!ということです。

正直、最初にこのコマンドの説明を見た時は、DefaultにしたいNode.jsのバージョンはもうインストールされてるからvolta installコマンドじゃないだろうな〜、きっと他のコマンドがあるに違いない!探してみよ〜っていう感じでした。

しかし、helpコマンドやネットで調べてもそれっぽいコマンドが見つからず、しまいにはAIにも存在しないコマンドを紹介されたりして困惑しました。結論としては結局volta installコマンドで良かったのですが、ちょっとわかりにくいと思いました。(自分だけ?)

やってみる

Volta上に既にインストールされているバージョンを確認。

$ volta list node
⚡️ Node runtimes in your toolchain:

    v15.14.0
    v16.13.1
    v16.20.2
    v18.14.2
    v18.18.0 (default)
    v20.11.0
    v20.13.1
    v22.3.0

上のバージョン一覧がインストールされており、18.18.0がDefaultバージョンに設定されていることがわかります。 Defaultバージョンをリスト上の20.11.0に切り替えます。

$ volta install node@20.11.0
success: installed and set node@20.11.0 as default

installed and set node@20.11.0 as defaultと書いてあることを確認します。(ここではsetされたのみです) もし、ここでリストに存在しないバージョンを指定した場合、インストールが開始されます。

再度リスト表示をしてDefaultバージョンを確認。

$ volta list node
⚡️ Node runtimes in your toolchain:

    v15.14.0
    v16.13.1
    v16.20.2
    v18.14.2
    v18.18.0
    v20.11.0 (default)
    v20.13.1
    v22.3.0

Defaultバージョンが20.11.0に切り替わっていることが確認できました。

まとめ

今回はVoltaを使用してDefaultに使用したいバージョンを設定する方法を紹介しました。

ご参考になりましたら幸いです。

参考