Skip to content

ツールチェーンの管理

Volta の役割は、nodenpmyarn、または JavaScript パッケージの一部として提供される実行可能ファイルなど、JavaScript コマンドラインツールを管理することです。このガイドでは、Volta を使用してツールチェーンを効果的に管理する方法を説明します。

デフォルトツールの設定

プロジェクトディレクトリにいない場合、Volta はデフォルトツールを使用します。これらのデフォルト値を設定するのは簡単です:

Node.js のインストール

特定バージョンの Node.js をデフォルトとしてインストールするには:

bash
volta install node@16.14.2

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

bash
volta install node@16

または単純に最新の LTS(長期サポート)バージョンをインストール:

bash
volta install node

パッケージマネージャーのインストール

同様に、npm と Yarn のデフォルトバージョンを設定できます:

bash
volta install npm@8.5.0
volta install yarn@1.22.18

または最新バージョンをインストール:

bash
volta install npm
volta install yarn

複数バージョンの管理

Volta を使用すると、複数バージョンのツールを同時に簡単にインストールできます:

インストール済みツールのリスト表示

ツールチェーン内のすべてのツールを表示するには:

bash
volta list all

特定のツールタイプをリストすることもできます:

bash
volta list node
volta list npm
volta list yarn
volta list packages

ツールのアンインストール

不要になったツールはアンインストールできます:

bash
volta uninstall node
volta uninstall npm
volta uninstall yarn
volta uninstall package-name

注意:Node をアンインストールしても Volta のキャッシュからは削除されないため、そのバージョンを使用するプロジェクトは引き続き動作します。

グローバルパッケージの使用

Volta の最も強力な機能の一つは、グローバルパッケージの処理です:

グローバルパッケージのインストール

通常通りパッケージマネージャーを使用してグローバルにパッケージをインストール:

bash
npm install --global typescript
# または
yarn global add typescript

Volta はこれらのパッケージが常に適切なバージョンの Node.js を使用することを保証します。

パッケージの場所を調べる

ツールの実際のインストール場所を確認するには:

bash
volta which node
volta which npm
volta which typescript

高度なツール管理

より高度な使用例では、Volta は追加のコマンドを提供します:

インストールせずにフェッチ

ツールをローカルキャッシュにダウンロードし、デフォルトとして設定しない場合:

bash
volta fetch node@14.17.0
volta fetch npm@7.20.3

これはオフライン作業用の環境準備に役立ちます。

カスタムバージョンでの実行

特定のツールバージョンで一時的にコマンドを実行するには:

bash
volta run --node 14.17.0 --npm 7.20.3 node app.js

これはデフォルト値やプロジェクト設定を変更しません。

ベストプラクティス

ツールチェーン管理の推奨事項:

  1. 合理的なデフォルトを設定:安定した LTS バージョンをデフォルトとしてインストール
  2. グローバルツールのインストール:Volta のグローバルパッケージの賢い処理を活用
  3. ツールチェーンをスリムに保つ:不要になったツールをアンインストール
  4. volta fetch を使用:事前にツールをフェッチしてオフライン作業に備える
  5. volta run で探索:デフォルト値を変更せずに異なるバージョンをテスト

Volta を使用してツールチェーンを効果的に管理することで、すべての JavaScript プロジェクトでスムーズで一貫した開発体験を確保できます。