介绍
asdf 是一个命令行界面工具,或 CLI 工具,用于管理多种编程语言的不同运行时间版本. 它在一个配置文件下统一了所有运行时间,并使用插件结构来管理一切使用一个工具. 例如,您可以安装 Node.js,但然后将 asdf 作为一个中央 插件库,每个插件都由官方或社区贡献者维护。
在本教程中,您将安装 asdf 核心和 Node.js 插件与构建依赖,这是功能所需的最低限度。
前提条件
- Ubuntu 22.04 服务器,根据我们的 Ubuntu 22.04 初始服务器设置指南设置,具有非root 用户的
sudo
特权和启用防火墙。
步骤 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 允许安装多个运行时版本,您可以从全球范围到工作项目目录选择不同级别的版本。