【Volta】複数プロジェクトで共通のNode.jsバージョンを共有する方法

【Volta】複数プロジェクトで共通のNode.jsバージョンを共有する方法

Voltaというツールをご存知でしょうか?

今回の記事では1つのリポジトリの複数プロジェクトでnode.jsのバージョンを共有したいと思い、それがVoltaで実現できたのでその方法を書いていきます!

Voltaの簡単な概要

Voltaは、JavaScriptツールの管理を簡単かつ効率的に行うためのツールマネージャーです。

主な特徴は以下の通りです。(https://volta.sh)

  • 高速:Rust製でどうやらはやいみたいです
  • 信頼性:プロジェクト内で全員が同じツールを使用できるようにします。
  • 汎用性:パッケージマネージャー、Node.jsランタイム、OSに関係なく、volta installコマンド一つで必要なツールをインストールできます。

ぼくが気に入っている点はディレクトリに入るとnode.jsのバージョンが自動で切り替わることです。このおかげでローカル環境のnode.jsバージョンを意識することもなく日々快適な生活を送れています。

あとロゴがかわいいのも推しポイントですね。

Volta LOGO

プロジェクトでバージョンを選択する方法

Voltaを使用してプロジェクト固有のNode.jsやパッケージマネージャーのバージョンを指定するには、以下の手順を実行します

  1. プロジェクトのルートディレクトリに移動します。
  2. 以下のコマンドを実行して、プロジェクト用のNode.jsバージョンを設定します
    volta pin node@<バージョン>
    
  3. 必要に応じて、npmやyarnなどのパッケージマネージャーのバージョンも指定できます
    volta pin npm@<バージョン>
    
    volta pin yarn@<バージョン>
    

これらのコマンドを実行すると、package.jsonファイルにvoltaセクションが追加され、指定したバージョンが記録されます。

複数プロジェクトでVoltaの設定を共有する方法

1つのリポジトリに複数のプロジェクトがあり、それらすべてでVoltaの設定を共有したい場合は、以下の手順で設定できます:

  1. リポジトリのルートにpackage.jsonファイルを作成し、共有したいVolta設定を記述します
    package.json
    {
      "volta": {
        "node": "<共有するNodeバージョン>",
        "npm": "<共有するnpmバージョン>",
        "yarn": "<共有するyarnバージョン>"
      }
    }
    
  2. 各プロジェクトのpackage.jsonファイルに以下の設定を追加します
    package.json
    {
      "volta": {
        "extends": "../package.json"
      }
    }
    

この設定により、各プロジェクトはリポジトリのルートにあるpackage.jsonファイルのVolta設定を継承します。特定のディレクトリで作業したい時、自動でバージョンが切り替わるのでとても便利ですね!

Voltaのセットアップも結構かんたんなので、ぜひためしてください(`・ω・´)

Anycloudではプロダクト開発の支援を行っています

プロダクト開発をお考えの方はぜひAnycloudにご相談ください。

まずは相談する

記事を書いた人

Tsukamura

エンジニア

Tsukamura

株式会社Anycloudでエンジニアをしています。