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

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。