bin^2

bin^2

discord server
twitter

asdf-vm—— 是一个按项目管理多语言运行时版本的命令行工具

asdf-vm—— 是一个按项目管理多语言运行时版本的命令行工具#

#article/done/published
#工具

asdf-vm 是一个按项目管理多语言运行时版本的命令行工具。它与 Ruby 的 rvm 和 Node 的 nvm 等其他命令行版本管理工具类似,但更可以通过可扩展的插件体系架构支持多语言。当前插件列表包括多种语言,以及 Bazel 或 tflint 等可能需要针对每个项目管理其运行时版本的工具。

asdf 的特点:

  • 支持 Bash、Zsh、Fish。

  • 支持几乎所有语言平台的运行时版本管理。

  • 简单的插件系统,方便扩展新的运行时。

  • 通过一个配置文件在一个地方保持全局的默认配置

  • 通过一个 .tool-versions 配置文件按工程进行单独配置

安装#

asdf 支持多种平台和多种安装管理工具,以 macos 和 brew 为例

  • 安装依赖
brew install coreutils curl git
  • 安装 asdf
brew install asdf

查看支持的插件#


asdf plugin list all | grep nodejs

使用#

以 nodejs 为例

查看插件的安装说明,不同插件的依赖不同需要单独配置

  • 安装依赖
brew install coreutils

brew install gpg

asdf plugin-add nodejs https://github.com/asdf-vm/asdf-nodejs.git


bash -c '${ASDF_DATA_DIR:=$HOME/.asdf}/plugins/nodejs/bin/import-release-team-keyring'

  • 列出所有的版本
asdf list all nodejs
  • 安装指定版本
asdf install nodejs latest
  • 查看安装的版本
asdf list nodejs
  • 设置使用的版本
asdf global nodejs 15.4.0    #全局设置,保存版本到$HOME/.tool-versions

asdf shell nodejs 15.4.0     #会话设置,保存版本到环境变量ASDF_${LANG}_VERSION

asdf local nodejs 15.4.0     #本地设置,保存版本到$PWD/.tool-versions
  • 使用当前版本
asdf exec node -v

使用 asdf-direnv#

默认使用 asdf 需要使用命令 asdf exec,如果想支持使用则需要安装插件 asdf-direnv

首先要安装 direnv

curl -sfL https://direnv.net/install.sh | bash

echo 'eval "$(direnv hook zsh)"'>>~/.zshrc

安装 asdf-direnv


asdf plugin-add direnv
asdf install direnv latest

asdf global direnv `asdf list direnv latest`

mkdir -p ~/.config/direnv/ && touch ~/.config/direnv/direnvrc

echo 'source "$(asdf direnv hook asdf)"' >> ~/.config/direnv/direnvrc

项目配置

touch .envrc

echo 'use asdf' >> .envrc

direnv allow

可以直接使用了

node -v
  • 查看当前版本
asdf current nodejs

  • 删除版本
asdf uninstall nodejs 15.4.0

参考#

官方首页:https://asdf-vm.com/#/

插件列表:https://asdf-vm.com/#/plugins-all?id=plugin-list

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。