Node.js在 AL2 023 - Amazon Linux 2023
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Node.js在 AL2 023

Node.js在 AL2 023 中,由 18、20 和 22 版本表示。所有支持的Node.js版本都有命名空间,可以同时安装在同一个系统上。命名空间可确保每次Node.js安装在文件系统中都是唯一的。这是通过根据运行时版本重命名密钥目录和文件来实现的。实际的可执行文件名称将看起来像 n ode-{MAJOR_VERSION} 或 npm-{MAJOR_V ERSION}。但是,一次只能激活一个Node.js版本。此活动版本提供了默认目录和文件名,例如 n ode、npm 或/usr/lib/node_mod ule s,将它们指向当前活动的运行时。

这是利用替代工具的功能实现的。请务必记住,默认的可执行文件名称是虚拟的,当指向不同的已安装Node.js版本时,可以随时更改。这种灵活性使使用 shebang 中的节点的软件能够在调用时选择所需的版本。但是,当需要特定版本的Node.js时,可以通过调用命名空间的可执行文件(例如 node -20 或 nod e-22)来实现版本的持久性,这些可执行文件将始终使用指定的运行时版本。此外,无论当前处于活动状态的运行时如何,npm 工具的命名空间可执行文件(例如 npm-20 或 npm-22)始终与相应的 Node.js 版本相关联。

Node.js以多个命名空间包的形式分发。这些软件包提供了 n ode、与之兼容的 npm 工具、文档、库等。唯一的例外是 Node.js 18,它在历史上没有命名空间,在和nodejs-npm包中分别提供了 node nodejs 和 npm。但是,的后续版本Node.js采用命名空间并以 “” nodejs{MAJOR_VERSION} 开头。例如,Node.js20 中的节点npm 分别由nodejs20nodejs20-npm包提供。

备选工具提供了一个用于在Node.js版本之间切换的命令。默认情况下,备选方案配置为 auto 模式,该模式使用优先级来确定当前处于活动状态的Node.js版本。但是,您可以随时激活任何已安装的版本。当前,所有支持的版本Node.js的优先级相同,这意味着第一个安装的版本将自动激活。

使用替代品的一些有用示例
  1. 检查配置了哪些备选方案

    alternatives --list
  2. 检查节点的当前配置

    alternatives --display node
  3. 以交互方式更改版本 Node.js

    alternatives --config node
  4. 切换到手动模式并选择特定版本

    alternatives --set node /usr/bin/node-{MAJOR_VERSION}
  5. 切换回 auto 版本选择模式

    alternatives --auto node