如何在 Ubuntu 22.04 上安装 asdf 以管理多个编程语言运行时版本

介绍

asdf 是一个命令行界面工具,或 CLI 工具,用于管理多种编程语言的不同运行时间版本. 它在一个配置文件下统一了所有运行时间,并使用插件结构来管理一切使用一个工具. 例如,您可以安装 Node.js,但然后将 asdf 作为一个中央 插件库,每个插件都由官方或社区贡献者维护。

在本教程中,您将安装 asdf 核心和 Node.js 插件与构建依赖,这是功能所需的最低限度。

前提条件

步骤 1 – 安装 asdf Core

asdf 依赖于安装一个内核,单独没有功能. asdf 内核依赖于特定编程语言或程序的单独插件. 最常见的是,它用于安装和管理某个特定编程语言的多个版本。 建议您将 asdf 内核下载到git,该内核与 Ubuntu 22.04 一起安装。 要获得最新版本的 asdf,请从 asdf 存储库中克隆最新分支:

1git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.10.2

asdf 需要一个独特的安装,取决于其下载的壳类型和方法的组合。默认情况下,Ubuntu 使用 Bash 作为其壳,它使用 `~/.bashrc' 文件进行配置和定制。

1echo ". $HOME/.asdf/asdf.sh" >> ~/.bashrc

接下来,请确保您的更改适用于当前会话:

1source ~/.bashrc

<$>[注] 注: 如果您正在使用ZSH而不是Bash,您可以将相同的行添加到 ~/.zshrc文件。

有了核心安装,您现在可以安装插件。

步骤 2 — 安装 asdf Node.js 插件和构建依赖

安装 asdf 的 Node.js 插件并不等于自行安装 Node.js. 这将发生在下一步. 如前所述,可用 asdf 设置的最低要求是 asdf 核心和至少一个插件. 一旦安装此插件,您可以使用它来安装它处理的运行时间。

每个asdf插件都是单独维护的,有些是由核心asdf团队维护的,但大多数是社区维护的,每个asdf插件都有自己的存储库和依赖性,需要安装。你必须检查每个插件存储库,比如Node.js插件存储库(https://github.com/asdf-vm/asdf-nodejs)。

要安装该插件,请使用以下asdf 插件添加命令:

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

对于这个 Node.js 插件,这些依赖性在他们的 README 文件的使用部分中被提及(https://github.com/asdf-vm/asdf-nodejs# use)。在该部分中,明确的依赖性在 Node.js 官方存储库的构建部分(https://github.com/nodejs/node/blob/main/BUILDING.md# building-nodejs-on-supported-platforms)中被链接到。这必须是手动的,因为 asdf 是一个针对多个操作系统的解决方案,每个系统都有自己的独特依赖性和安装方法。这也可能因插件而异。对于 Ubuntu 上的这个插件,你需要安装这些依赖性。

1sudo apt update

然后,您可以安装所需的依赖:

1sudo apt install python3 g++ make python3-pip

对于这个Node.js插件,取决于你需要安装的版本,它要么选择预编译的二进制文件,要么从源编译二进制文件。

成功安装该插件后,您可以下一步安装 Node.js。

步骤 3 – 安装 Node.js

您可以安装多个 Node.js 版本,从最新版本或任何指定的版本中选择。

1asdf install nodejs latest
1[secondary_label Output]
2Trying to update node-build... ok
3Downloading node-v18.10.0-linux-x64.tar.gz...
4-> https://nodejs.org/dist/v18.10.0/node-v18.10.0-linux-x64.tar.gz
5Installing node-v18.10.0-linux-x64...
6Installed node-v18.10.0-linux-x64 to /home/sammy/.asdf/installs/nodejs/18.10.0

安装最新的版本是 asdf 提供的捷径,它不是一个特殊的版本. asdf 识别和执行版本的确切号码。

1asdf install nodejs 16.16.0
1[secondary_label Output]
2Trying to update node-build... ok
3Downloading node-v16.16.0-linux-x64.tar.gz...
4-> https://nodejs.org/dist/v16.16.0/node-v16.16.0-linux-x64.tar.gz
5Installing node-v16.16.0-linux-x64...
6Installed node-v16.16.0-linux-x64 to /home/sammy/.asdf/installs/nodejs/16.16.0

安装了这两种版本,您可以检查您拥有的所有版本,如下:

1asdf list nodejs
1[secondary_label Output]
2  16.16.0
3  18.10.0

此外,如果您想删除版本,您可以使用卸载命令与特定版本目标:

1asdf uninstall nodejs 16.16.0

现在 Node.js 已安装,您可以选择您想要的活跃版本。

步骤 4 — 选择 Active Node.js 版本

asdf 可以将 Node.js 版本设置为三个不同级别:本地,全球

1asdf local nodejs latest

将当前版本设置为全球级别,在您的系统的用户级别上发挥作用:

1asdf global nodejs latest

如果您只想为当前 shell 会话设置版本,请输入以下内容:

1asdf shell nodejs latest

现在,您可以使用 asdf 完成 Node.js 安装,并且可以在您想要的范围内切换到所需的版本。

结论

在本教程中,您安装了 asdf 核心, asdf Node.js 插件,然后是 Node.js 本身. asdf 允许安装多个运行时版本,您可以从全球范围到工作项目目录选择不同级别的版本。

Published At
Categories with 技术
comments powered by Disqus