Repolode
asdf-vm

asdf-vm/asdf

可通过插件扩展的命令行工具,按项目统一管理多种语言运行时版本。

Star
25,617
Fork
1,048
未关闭 Issue
149
最近提交
6天前

这是什么?

asdf 是一个命令行工具,用于安装和切换 Ruby、Node.js、Elixir、Erlang 等语言的运行时版本。你无需为每种语言分别安装一套版本管理器,所有语言都使用同一套命令操作。

每个项目的版本通过一个 .tool-versions 文件统一声明,进入不同目录时 asdf 会自动切换到对应的运行时版本。全局配置可保存默认版本,已有的 .nvmrc、.node-version、.ruby-version 等文件也能直接识别,便于迁移。

每种语言的支持由插件提供,任何人都可以编写插件来接入新的运行时。Shell 自动补全支持 Bash、Zsh、Fish 和 Elvish。

核心功能

  • 01用同一个 CLI 和一致的命令管理多种语言运行时
  • 02通过 .tool-versions 文件为每个项目固定版本
  • 03切换目录时自动切换运行时版本
  • 04兼容已有的 .nvmrc、.node-version、.ruby-version 文件
  • 05提供插件机制,可接入新语言
  • 06支持 Bash、Zsh、Fish、Elvish 的命令补全

适用场景

  • 同时维护多个各自依赖不同 Ruby 或 Node.js 版本的项目
  • 通过一个提交到仓库的配置文件统一团队的运行时版本
  • 从 nvm、rbenv、pyenv 等单语言工具迁移到统一方案

使用前须知

  • 每种语言都需要先安装对应的插件,asdf才能管理其版本。

收录于专题

标签

常见问题

asdf 是什么?
可通过插件扩展的命令行工具,按项目统一管理多种语言运行时版本。 asdf 是一个命令行工具,用于安装和切换 Ruby、Node.js、Elixir、Erlang 等语言的运行时版本。你无需为每种语言分别安装一套版本管理器,所有语言都使用同一套命令操作。
asdf 可以免费使用吗?用的什么许可证?
asdf 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
asdf 还在维护吗?
活跃维护中。asdf 最近一次提交是在 2026年11月1日。
asdf 适合用来做什么?
同时维护多个各自依赖不同 Ruby 或 Node.js 版本的项目 通过一个提交到仓库的配置文件统一团队的运行时版本 从 nvm、rbenv、pyenv 等单语言工具迁移到统一方案
在哪里获取 asdf?
源代码和安装说明在 GitHub 上:https://github.com/asdf-vm/asdf

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目