ユーザー/シェルごとに複数のNode.jsバージョンをインストール・切り替えできる、POSIX準拠のbashスクリプト。
asdf-vm/asdf
プラグインシステムを通じて多くの言語に対応し、プロジェクトごとにランタイムのバージョンを切り替えるCLIバージョン管理ツールです。
- スター
- 25,618
- フォーク
- 1,048
- 未解決の Issue
- 149
- 最終コミット
- 6 日前
これは何?
asdfは、Ruby、Node.js、Elixir、Erlangなどの言語ランタイムをインストールし、バージョンを切り替えるためのコマンドラインツールです。言語ごとに別々のバージョン管理ツールを使う代わりに、共通のコマンドを備えた1つのCLIで管理できます。
プロジェクトごとのバージョンは単一の .tool-versions ファイルに固定でき、ディレクトリを移動すると、asdfが該当するランタイムへ自動で切り替えます。グローバル設定でデフォルトを指定でき、移行しやすいように .nvmrc、.node-version、.ruby-version など既存のファイルも認識します。
各言語のサポートはプラグインによって提供され、新しいランタイムに対応するプラグインを誰でも作成できます。Bash、Zsh、Fish、Elvish向けのシェル補完も利用できます。
主な機能
- 01複数の言語ランタイムを、統一されたコマンドを備える単一のCLIで管理
- 02.tool-versions ファイルによるプロジェクトごとのバージョン固定
- 03ディレクトリの移動に応じたバージョンの自動切り替え
- 04既存の .nvmrc、.node-version、.ruby-version ファイルを読み込み
- 05新しい言語を追加できるプラグインシステム
- 06Bash、Zsh、Fish、Elvish向けのシェル補完
ユースケース
- プロジェクトごとに異なるRubyやNode.jsのバージョンが必要な複数のプロジェクトで作業する
- 1つの設定ファイルをコミットして、チーム内のランタイムバージョンを統一する
- nvm、rbenv、pyenvなど、言語ごとのツールから移行する
使う前に知っておきたいこと
- asdfでバージョンを管理するには、各言語のプラグインをインストールする必要があります。
収録されている特集
トピック
よくある質問
- asdf とは?
- プラグインシステムを通じて多くの言語に対応し、プロジェクトごとにランタイムのバージョンを切り替えるCLIバージョン管理ツールです。 asdfは、Ruby、Node.js、Elixir、Erlangなどの言語ランタイムをインストールし、バージョンを切り替えるためのコマンドラインツールです。言語ごとに別々のバージョン管理ツールを使う代わりに、共通のコマンドを備えた1つのCLIで管理できます。
- asdf は無料で使えますか?ライセンスは?
- asdf は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- asdf は今もメンテナンスされていますか?
- 活発にメンテナンス中。asdf の最終コミットは 2026年11月1日 です。
- asdf は何に使えますか?
- プロジェクトごとに異なるRubyやNode.jsのバージョンが必要な複数のプロジェクトで作業する 1つの設定ファイルをコミットして、チーム内のランタイムバージョンを統一する nvm、rbenv、pyenvなど、言語ごとのツールから移行する
- asdf はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/asdf-vm/asdf
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
プラグインで拡張できる、Node.js、Java、Go、Pythonなどの開発ランタイム向けクロスプラットフォームバージョン管理ツール。
Pythonの複数バージョンをインストールし、全体・プロジェクトごと・シェルセッションごとに切り替えられるコマンドラインツール。
Windows向けのNode.jsバージョン管理ツール。プロジェクトごと、またはグローバルに複数のNode.jsバージョンをインストールして切り替えられます。
プロジェクトのツールをインストールし、環境変数を設定してタスクを実行できる、mise.tomlを中心としたRust製CLI。