Skip to content

プロジェクトの管理

Volta はチームと協力者がプロジェクトで使用する開発ツールを標準化できるようにします。このガイドでは、Volta を使用してプロジェクトを効果的に管理する方法を説明します。

ツールバージョンの固定

Volta の最も重要なプロジェクト管理機能は、特定のツールバージョンをプロジェクトに固定する機能です:

Node.js の固定

プロジェクトが使用すべき Node.js バージョンを指定するには:

bash
volta pin node@16.14.2

メジャーバージョンやマイナーバージョンに固定することもでき、Volta は最新の一致するバージョンを使用します:

bash
volta pin node@16

パッケージマネージャーの固定

同様に、npm と Yarn のバージョンを固定できます:

bash
volta pin npm@8.5.0
volta pin yarn@1.22.18

固定の動作原理

ツールバージョンを固定すると、Volta は:

  1. プロジェクトの package.json ファイルを volta セクションで更新
  2. この情報をバージョン管理にコミット
  3. チームの全員が同じバージョンを使用することを保証

package.json 内の volta セクションは以下のようになります:

json
{
  "name": "your-project",
  "version": "1.0.0",
  "volta": {
    "node": "16.14.2",
    "npm": "8.5.0",
    "yarn": "1.22.18"
  }
}

プロジェクトローカルツール

Volta はプロジェクトローカルツールインストールも尊重します:

ローカルパッケージバイナリの使用

プロジェクト内でパッケージをローカルインストールした場合:

bash
npm install typescript
# または
yarn add typescript

Volta を通じてそれらのバイナリを実行できます:

bash
volta run tsc
# または単純に
tsc

Volta はプロジェクトに固定された Node.js バージョンを使用してこれらのツールを実行します。

ワークスペースサポート

複数のプロジェクトを持つ monorepo セットアップでは、Volta は設定の継承をサポートします:

設定の拡張

複数のプロジェクトを持つワークスペースでは、ルート package.json でベース設定を設定できます:

json
{
  "volta": {
    "node": "16.14.2",
    "yarn": "1.22.18"
  }
}

そして個別のプロジェクトの package.json ファイルで、ルート設定を拡張します:

json
{
  "volta": {
    "extends": "../../package.json"
  }
}

これにより、ワークスペース内のすべてのプロジェクト間で一貫したツールバージョンを維持できます。

プロジェクト管理のベストプラクティス

Volta を使用してプロジェクトを管理するための推奨事項:

1. 常にツールを固定

各プロジェクトで Node.js とパッケージマネージャーのバージョンを固定:

bash
volta pin node
volta pin npm
# または
volta pin yarn

これにより、すべてのチームメンバーが一貫した開発環境を持つことが保証されます。

2. Volta 設定をコミット

package.json 内の volta セクションを常にバージョン管理にコミットしてください。これが Volta がチームと設定を共有する方法です。

3. ツール要件を文書化

プロジェクトの README で、ツール管理に Volta を使用していることを記載:

markdown
## 開発

このプロジェクトは [Volta](https://volta.sh) を使用してツールの一貫性を保証しています。
Volta をインストールすると、自動的に適切なバージョンの Node.js と npm が使用されます。

4. CI/CD 統合を使用

継続的統合環境では、ビルドプロセスの一部として Volta のインストールを含める:

bash
# GitHub Actions の例
- name: Install Volta
  uses: volta-cli/action@v1

# Volta は自動的に適切な Node.js と npm/yarn バージョンを使用
- name: Install dependencies
  run: npm install

5. プロジェクト間での標準化

複数のプロジェクトを持つ組織では、開発者がインストールする必要があるバージョン数を最小化するため、可能な限りツールバージョンを標準化してください。

Volta を使用してプロジェクトを効果的に管理することで、すべてのチームメンバーが一貫した開発環境を持ち、「私のマシンでは動作する」問題を減らし、コラボレーションをよりスムーズにできます。