使用 asdf 工具有效管理 Elixir、Erlang、Python 和 Node.js 等多種程式語言的版本

使用 asdf 工具有效管理 Elixir、Erlang、Python 和 Node.js 等多種程式語言的版本

目錄

在軟體開發領域中,維持團隊成員工具版本的一致性是非常關鍵的。這正是 asdf 版本管理工具發揮作用的時刻。 asdf 讓你能在一個文件( .tool-versions )裡面指定所有工具的版本,並且將該文件加入到 Git 倉庫中與團隊共享,這樣就能保證每個人都在使用相同版本的工具。

asdf 出現之前,開發者往往需要依賴多個不同的命令行界面(CLI)版本管理器,這些管理器各自擁有不同的 API、配置方式和實作細節(例如:路徑( $PATH )的設定、shims 或環境變量的處理)。 asdf 提供了一個統一的操作界面和配置文件,顯著簡化了開發過程。此外, asdf 還支援通過插件擴展,使其能夠支援廣泛的工具和執行環境。

asdf 的核心理念是將所有工具的版本控制集中在一個地方管理。它透過 .tool-versions 文件來設定各工具的版本,並能夠自動切換到指定的版本。這意味著你可以在不同的專案中使用不同版本的工具,而無需在全局範圍內進行版本切換。

由於 asdf 擁有一個非常活躍的社群,它支援了眾多的工具,包括但不限於 Elixir、Erlang、Python、Node.js、Ruby、Rust、Go、Java 等。這讓 asdf 成為一個極具吸引力的選擇,尤其適合那些需要跨多種程式語言進行開發的開發者。

安裝 asdf

目前 asdf 僅支援 Linux 和 macOS。你可以通過以下命令安裝 asdf

curl -L -o source.tar.gz "$(curl -s https://api.github.com/repos/asdf-vm/asdf/releases/latest | jq -r '.tarball_url')"
tar -xzf source.tar.gz -C ~/.asdf --strip-components=1
rm source.tar.gz
echo '. "~/.asdf/asdf.sh"' >> ~/.bashrc
echo '. "~/.asdf/completions/asdf.bash"' >> ~/.bashrc
source ~/.bashrc
asdf --version

安裝插件

  • 安裝 Node.js
asdf plugin add nodejs
ubuntu_version=$(lsb_release -rs)
if [ $(echo "$ubuntu_version < 20" | bc -l) -eq 1 ]; then
    # 因為 Node.js 18 版後依賴於 GLIBC_2.28,但 Ubuntu 從 20 版後才支援 GLIBC_2.28
    # Node.js 通常偶數為穩定 LTS 版本,故安裝 16 版的最後版本
    export NODEJS_VERSION="16.20.2"
else
    export NODEJS_VERSION="20.10.0"
fi
echo "NODEJS_VERSION is set to $NODEJS_VERSION"
asdf install nodejs $NODEJS_VERSION
asdf global nodejs $NODEJS_VERSION
node --version
npm --version
  • 安裝 Python
asdf plugin add python
export PYTHON_VERSION="3.10.12"
asdf install python $PYTHON_VERSION
asdf global python $PYTHON_VERSION
python --version
comments powered by Disqus

相關文章

如何配置多個 git ssh keys 並依照專案動態切換 git config

如何配置多個 git ssh keys 並依照專案動態切換 git config

我有時候會在公司的電腦開發自己的專案,也會在家裡的電腦開發公司的專案,這時候就會遇到一個問題,就是公司的 Git 用的是公司的帳號,而自己的專案用的

閱讀更多
Honeygain:真正的被動收入?深入解析與使用心得|2020/08/19

Honeygain:真正的被動收入?深入解析與使用心得|2020/08/19

今天我要介紹的是一個近期在網路上相當熱門的掛機賺錢平台 - Honeygain。你是否曾經想過,只要將你的裝置連接到網路,就能夠賺取一些額外的收

閱讀更多
Sublime Text 3/4 高階設定與快捷鍵技巧

Sublime Text 3/4 高階設定與快捷鍵技巧

Sublime Text 3/4 是一款輕巧且功能強大的文本編輯器,專為多語言程式設計打造,提供豐富的語法高亮和易於安裝的插件。其設定檔案採用 JSON 格式,便於用戶進行個性化

閱讀更多