asdf 通用版本管理器完整教程

你是否厌倦了为不同语言安装不同的版本管理器(NVM 管 Node、Pyenv 管 Python、Rbenv 管 Ruby)?asdf 是一个通用版本管理器,通过插件系统支持几乎所有编程语言和工具的版本管理。一个 .tool-versions 文件即可定义项目所需的所有运行时版本。购买搬瓦工使用优惠码 NODESEEK2026 享 6.77% 折扣。

一、安装 asdf

# 安装依赖
apt update && apt install -y curl git

# 克隆 asdf
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.0

# 添加到 ~/.bashrc
echo '. "$HOME/.asdf/asdf.sh"' >> ~/.bashrc
echo '. "$HOME/.asdf/completions/asdf.bash"' >> ~/.bashrc
source ~/.bashrc

# 验证
asdf --version

二、插件管理

asdf 通过插件支持不同语言和工具。每种语言/工具需要先添加对应插件:

# 添加插件
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
asdf plugin add python
asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git
asdf plugin add java https://github.com/halcyon/asdf-java.git
asdf plugin add golang https://github.com/asdf-community/asdf-golang.git
asdf plugin add rust https://github.com/asdf-community/asdf-rust.git

# 查看已安装的插件
asdf plugin list

# 查看所有可用插件
asdf plugin list all

# 更新插件
asdf plugin update nodejs
asdf plugin update --all

# 删除插件
asdf plugin remove golang

三、安装语言版本

# 查看可安装版本
asdf list all nodejs
asdf list all python

# 安装指定版本
asdf install nodejs 20.11.0
asdf install python 3.12.1
asdf install ruby 3.3.0
asdf install java temurin-21.0.2+13.0.LTS

# 查看已安装版本
asdf list nodejs
asdf list python

四、版本切换

# 设置全局版本
asdf global nodejs 20.11.0
asdf global python 3.12.1

# 设置项目级版本(创建 .tool-versions)
cd /opt/my-project
asdf local nodejs 18.19.0
asdf local python 3.11.7

# 查看 .tool-versions 文件
cat .tool-versions
# nodejs 18.19.0
# python 3.11.7

# 设置当前 Shell 临时版本
asdf shell nodejs 22.0.0

# 查看当前所有版本
asdf current

五、.tool-versions 文件

asdf 的核心是 .tool-versions 文件,它定义了项目所需的所有运行时版本:

# .tool-versions 示例
nodejs 20.11.0
python 3.12.1
ruby 3.3.0
java temurin-21.0.2+13.0.LTS

团队成员克隆项目后,只需执行 asdf install 即可安装 .tool-versions 中定义的所有版本:

# 自动安装所有定义的版本
asdf install

六、与专用工具对比

场景专用工具asdf 替代
Node.jsNVMasdf + nodejs 插件
PythonPyenvasdf + python 插件
RubyRbenvasdf + ruby 插件
JavaSDKMANasdf + java 插件

asdf 的优势是统一管理接口,一个配置文件搞定所有。专用工具在各自领域的功能更丰富(如 SDKMAN 管理 Maven/Gradle、NVM 的 .nvmrc 生态)。

七、常用命令速查

# 插件管理
asdf plugin add <name>      # 添加插件
asdf plugin list             # 查看已安装插件
asdf plugin update --all     # 更新所有插件

# 版本管理
asdf list all <name>         # 查看可安装版本
asdf install <name> <ver>   # 安装版本
asdf uninstall <name> <ver> # 卸载版本
asdf list <name>             # 查看已安装版本

# 版本切换
asdf global <name> <ver>    # 全局版本
asdf local <name> <ver>     # 项目版本
asdf shell <name> <ver>     # 临时版本
asdf current                 # 查看当前所有版本

# 自动安装
asdf install                 # 安装 .tool-versions 中的所有版本

# 更新 asdf
asdf update

八、最佳实践

  • .tool-versions 提交到 Git,确保团队使用相同版本。
  • 在 CI/CD 流水线中使用 asdf 统一管理构建环境。
  • 定期运行 asdf plugin update --all 更新插件获取最新版本列表。
  • 对于 Java 项目,如果需要 Maven/Gradle 管理,SDKMAN 可能更方便。

总结

asdf 是管理多语言开发环境的利器,特别适合全栈开发者和多语言项目。如果你在搬瓦工 VPS 上同时运行 Node.js、Python 和 Ruby 等多种应用,asdf 可以大幅简化环境管理。如果你只使用单一语言,专用工具(NVMPyenvRbenv)可能更适合。选购搬瓦工请访问 全部方案,使用优惠码 NODESEEK2026 享 6.77% 折扣,通过 bwh81.net 进入官网。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。