Rocky Linux 9安装Node.js:完整指南与最佳实践

简介

Node.js 是一个用于服务器端编程的 JavaScript 运行时。它使开发者能够使用 JavaScript 创建可扩展的后台功能,许多人已经通过基于浏览器的网页开发熟悉了这种语言。

在本指南中,您将了解三种在 Rocky Linux 9 服务器上安装 Node.js 的方法:

  • 使用 DNF 从 Rocky 默认软件仓库安装 Node.js 软件包。
  • 使用 DNF 结合 NodeSource 软件仓库安装特定版本的 Node.js 软件包。
  • 安装 Node 版本管理器(NVM),并使用它来安装和管理多个 Node.js 版本。

对于许多用户来说,使用默认的软件包源通过 DNF 安装 Node.js 将足够。如果您需要特定更新版本(或传统版本)的 Node.js,您应该使用 NodeSource 软件仓库。如果您正在积极地开发 Node.js 应用程序并需要频繁切换 Node.js 版本,请选择 NVM 方法。

先决条件

本指南假定您正在使用 Rocky Linux 9。在开始之前,您应该在系统上设置一个带有 sudo 权限的非根用户帐户。您可以按照 Rocky Linux 9 初始服务器设置教程 了解如何进行设置。

第一种选择:通过默认软件仓库使用 DNF 安装 Node.js

Rocky Linux 9 的默认软件仓库中包含一个 Node.js 版本,可用于在多个系统上提供一致的使用体验。目前版本为 16.14.0,虽然不是最新版本,但应该稳定且足够快速进行语言实验。

要获取此版本,可以使用 DNF 软件包管理器。

  1. sudo dnf install nodejs -y

 

通过查询 Node.js 的版本号来确认安装是否成功。

  1. node -v

 

输出

v16.14.0

如果仓库中的软件包符合您的需求,那么以上就是您安装 Node.js 的全部步骤。Rocky 的默认仓库中的 Node.js 软件包还附带了 npm,即 Node.js 软件包管理器。它将允许您安装模块和软件包以配合 Node.js 使用。

至此,您已成功使用 DNF 和默认的 Rocky 软件源安装了 Node.js 和 npm。接下来的部分将向您展示如何使用其他软件源安装不同版本的 Node.js。

选项二:使用 NodeSource 仓库通过 DNF 安装 Node.js

想要安装不同版本的 Node.js,您可以使用 NodeSource 仓库。NodeSource 是第三方仓库,比官方 Rocky 仓库提供了更多版本的 Node.js。截至本文撰写时,Node.js 的 v14、v16 和 v18 版本都可用。

首先,您需要在本地配置仓库,以便访问其软件包。从您的主目录开始,使用 curl 命令检索您所偏好版本的安装脚本,确保将 18.x 替换为您所偏好的版本号(如果不同)。

  1. cd ~
  2. curl -sL https://rpm.nodesource.com/setup_18.x -o nodesource_setup.sh

 

请查阅 NodeSource 文档以获取更多有关可用版本的信息。

您可以使用 vi(或您偏好的文本编辑器)来检查所下载脚本的内容。

  1. vi nodesource_setup.sh

 

运行第三方 shell 脚本并不总是被认为是最佳实践,但在这种情况下,NodeSource 会根据发行版和版本要求实施自己的逻辑,以确保正确的命令传递给您的软件包管理器。如果您确定该脚本是安全可靠的,请退出编辑器,然后使用 sudo 运行该脚本。

  1. sudo bash nodesource_setup.sh

 

输出

… ## 您的系统似乎已从其他来源安装了 Node.js。请先运行 sudo yum remove -y nodejs npm 进行移除。

## 运行 sudo yum install -y nodejs 以安装 Node.js 18.x 和 npm。

## 如果 yum 不可用,您可以使用 dnf:sudo dnf install -y nodejs

## 您可能还需要开发工具来构建原生插件:sudo yum install gcc-c++ make

## 要安装 Yarn 包管理器,请运行:curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo

sudo yum install yarn

该存储库将被添加到您的配置中,并且本地软件包缓存将自动更新。您现在可以像上一节中一样安装 Node.js 软件包。在安装新版本之前,建议完全删除旧的 Node.js 软件包,使用 sudo dnf remove nodejs npm 命令。这不会对您的配置产生任何影响,只会影响已安装的版本。第三方存储库并不总是以直接升级库存软件包的方式打包其软件,如果遇到问题,您可以尝试恢复到初始状态。

sudo dnf remove nodejs npm -y
sudo dnf install nodejs -y

通过运行带有 -v 版本标志的 node 命令,验证已安装新版本。

node -v
输出
v18.9.0

NodeSource nodejs 软件包中包含了 Node.js 二进制文件和 npm,因此您无需单独安装 npm。

目前为止,您已成功使用 dnf 和 NodeSource 存储库安装了 Node.js 和 npm。下一部分将展示如何使用 Node 版本管理器安装和管理多个 Node.js 版本。

第三个选项——使用 Node 版本管理器安装 Node

另一种特别灵活的安装 Node.js 的方式是使用 Node 版本管理器 (nvm)。这个软件允许您同时安装和维护许多不同独立的 Node.js 版本及其相关的 Node 包。

要在 Rocky Linux 9 机器上安装 NVM,请访问该项目的 GitHub 页面。从主页上显示的 README 文件中复制 curl 命令。这将获得最新版本的安装脚本。

在将命令导入 bash 之前,检查脚本以确保其不执行您不同意的操作是一个明智的做法。您可以通过在 curl 命令末尾删除“| bash”部分来实现。

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh

请查看并确保您对它所做的更改感到满意。当您满意之后,请再次运行命令,请在末尾加上 | bash。您使用的 URL 将取决于 nvm 的最新版本,但现在,可以通过键入以下内容来下载和执行脚本:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

这将把 nvm 脚本安装到您的用户账户上。要使用它,您必须先引用您的 .bashrc 文件。

source ~/.bashrc

现在,您可以询问 NVM 有哪些可用的 Node 版本。

nvm list-remote
输出
. . . v16.13.1 (LTS: Gallium)
v16.13.2 (LTS: Gallium)
v16.14.0 (LTS: Gallium)
v16.14.1 (LTS: Gallium)
v16.14.2 (LTS: Gallium)
v16.15.0 (LTS: Gallium)
v16.15.1 (LTS: Gallium)
v16.16.0 (LTS: Gallium)
v16.17.0 (Latest LTS: Gallium)
v17.0.0
v17.0.1
v17.1.0
v17.2.0
…

这是一个很长的列表!你可以通过键入任何你看到的发布版本来安装 Node 的一个版本。例如,要获取版本 v16.16.0(一个 LTS 发布版本),你可以键入:

nvm install v16.16.0

通过输入命令,您可以看到您已安装的不同版本。

nvm list
输出

-> v16.16.0 系统默认 -> v16.16.0 iojs -> N/A (默认) 不稳定 -> N/A (默认) node -> 稳定版 (-> v16.16.0) (默认) 稳定版 -> 16.16 (-> v16.16.0) (默认) lts/* -> lts/gallium (-> N/A) lts/argon -> v4.9.1 (-> N/A) lts/boron -> v6.17.1 (-> N/A) lts/carbon -> v8.17.0 (-> N/A) lts/dubnium -> v10.24.1 (-> N/A) lts/erbium -> v12.22.12 (-> N/A) lts/fermium -> v14.20.0 (-> N/A) lts/gallium -> v16.17.0 (-> N/A)

这显示了当前活跃版本在第一行(-> v16.16.0),接着是一些命名别名以及这些别名所指向的版本。

注意:

如果您还通过dnf安装了Node.js的版本,您可能会在这里看到系统项。您总是可以使用nvm use system命令激活系统安装的Node.js版本。您也可以安装基于这些别名的版本。例如,要安装gallium版,请运行以下命令:

  1. nvm install lts/gallium
输出

Downloading and installing node v16.17.0…

Downloading https://nodejs.org/dist/v16.17.0/node-v16.17.0-linux-x64.tar.xz…

################################################################################ 100.0%

Computing checksum with sha256sum

Checksums matched!

Now using node v16.17.0 (npm v8.15.0)

您可以使用其他章节中相同的方法进行验证,通过键入以下命令来确认安装是否成功。

  1. node -v
输出

v16.17.0

我们机器上安装了我们预期的正确版本的Node.js。还有一个兼容的npm版本可用。

结论

在Rocky Linux服务器上使用Node.js有多种方式。您的情况将决定哪种方法最适合您的需求。尽管在Rocky的软件库中使用打包的版本是最简单的方法,但使用nvm或NodeSource软件库可以提供更灵活的选择。

有关使用Node.js进行编程的更多信息,请参阅我们的教程系列《Node.js编码指南》。

bannerAds