Skip to main content

如何在 Rocky Linux 9中安装 Node.js

作者:Alex Garnett

导语

很多人都对 JavaScript 较为熟悉,这是一种基于浏览器的网络开发语言。Node.js 是一个用于服务端编程的 JavaScript 运行环境,支持开发人员使用 JavaScript 创建可扩展的后端功能。

本文将介绍在 Rocky Linux 9服务器上安装 Node.js 的三种方法:

  • 通过 dnf 从 Rocky 的默认软件库中安装 nodejs
  • 通过 dnf 从 Nodesource 软件库中安装 nodejs 包的特定版本
  • 安装 Node 版本管理器 nvm,再通过它安装并管理不同版本的 Node.js

对许多用户来说,使用 dnf 与默认软件源即可满足需求。但如果您需要特定的较新或较老版本的 Node,您可以使用 Nodesource 存储库。而如果您正在开发 Node 应用,需要经常切换 node 版本,使用 nvm 方法更加方便。

前期准备

本指南默认您使用 Rocky Linux 9。在开始前,您需要在系统中创建一个拥有 sudo 权限的非 root 用户账号。

方法1:使用 DNF 从默认存储库中安装 Node.js

Rocky Linux 9的默认存储库中会含有某一版本的 Node.js,这为不同系统提供了一致的体验。在本文撰写时,存储库中的是16.14.0版本。虽然不是最新版本,但它较为稳定,且能满足任何对 JavaScript 的简单实验。

您可以使用 dnf 包管理器安装此版本:

$ sudo dnf install nodejs -y

然后,通过查询 node 的版本号来验证安装是否成功:

$ node -v

Output

V16.14.0

如果存储库中的安装包可以满足您的需求,Node.js 的安装就已经完成了。Rocky’s 默认存储库中的 Node.js 包囊括了 npm,也就是 Node.js 包管理器。通过包管理器,您可以安装 Node.js 相关的模组与包。

如此,您已通过 dnf 和 Rocky 软件库成功安装了 Node.js 与 npm。在下个部分中,本文将介绍如何使用其它存储库安装不同版本的 Node.js。

方法2:使用 DNF 从 NodeSource 存储库中安装 Node.js

您可以使用 NodeSource 存储库安装不同版本的 Node.js。NodeSource 是一个第三方存储库,比 Rocky 官方存储库包含更多版本的 Node.js。在本文撰写时,NodeSource 中包含了 v14,v16,以及 v18版本的 Node.js。

首先,为了获得访问包的权限,您需要在本地配置存储库。在主目录中,使用 curl 检索您所需版本的安装脚本,记得将这里的 18.x 替换为您所需版本的字符串(如果不同的话)。

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

如果需要更多有关可用版本的信息,请参考 NodeSource 文档。

您可以 vi(或是您使用的文档编辑器)检查下面下载脚本的内容。

$ vi nodesource_setup.sh

虽然运行第三方 shell 脚本并非总是首选,但在此类情况下,NodeSource 会根据发行版及版本要求,使用自己的逻辑确保正确的命令传入了包管理器。如果您认为您的脚本可以安全运行,即可退出编辑器,使用 sudo 运行脚本:

$ sudo bash nodesource_setup.sh

Output


## Your system appears to already have Node.js installed from an alternative source. 您的系统已从其它源安装了Node.js
Run `sudo yum remove -y nodejs npm` to remove these first.


## Run `sudo yum install -y nodejs` to install Node.js 18.x and npm.
## 运行`sudo yum install -y node.js`来安装 Node.js 18.x 和 npm
## You may run dnf if yum is not available:
## 如果 yum 无法使用,您可以运行 dnf
sudo dnf install -y nodejs
## You may also need development tools to build native addons:
## 您可能需要开发者工具搭建本机插件
sudo yum install gcc-c++ make
## To install the Yarn package manager, run:
## 运行以下命令安装 Yarn 包管理器
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo yum install yarn

如此,存储库会添加至您的配置中,您的本地包缓存也会自动更新。现在,您可以参考前一部分的方法,以相同的方式安装 Node.js。在安装新版本前,您可以用 sudo dnf remove nodejs npm 删除之前的 Node.js 包。这只会影响您之前安装的版本,而不会影响您的配置。第三方存储库有时并不会将软件直接打包为库存包的升级版本。因此如果您遇到了问题,可以尝试恢复到最开始的状态。

$ sudo dnf remove nodejs npm -y
$
$ ```command
$ sudo dnf install nodejs -y

运行 node 加版本标记 -v 验证新版本是否已安装完成:

$ node -v

Output

v18.9.0

NodeSource 的 nodejs 同时包含了 node 二进制文件与 npm,所以您无需再单独安装 npm。 如此,您已使用 dnf 和 NodeSource 存储库成功安装了 Node.js 和 npm。下一部分将会介绍如何用 Node 版本管理器安装与管理不同版本的 Node.js。

方法3:使用 Node 版本管理器安装 Node

另一种安装 Node.js 的方法较为灵活,使用了 Node 版本管理器 jvm,使您可以同时安装和维护不同且独立版本的 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 部分,再次运行。由于 nvm 的版本更新,您使用的 URL 可能会有所变化。但现在,你可以通过输入以下命令下载并执行脚本:

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

nvm 就会安装至您的用户账号中。在使用之前,您还需获取 .bashrc 文件:

$ source ~/.bashrc

现在,您可以使用 NVM 查看可用的 Node 版本:

$ nvm list-remote

Output

. . .
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 版本)的 Node:

$ nvm install v16.16.0

您还可以查看您安装的不同版本,只需输入:

nvm list

Output

->     v16.16.0
system
default -> v16.16.0
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v16.16.0) (default)
stable -> 16.16 (-> v16.16.0) (default)
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,您可能会在此看到一个 entry 条目。您可以使用 nvm use system 激活系统安装的 Node 版本。

您还可以通过别名安装某一版本的 Node。例如,运行以下命令安装 fermium

$ nvm install lts/gallium

Output

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)

运用之前部分的方法,可以验证安装是否成功。输入:

$ node -v

Output

v16.17.0

我们想要的 Node 版本已按预期成功安装。此外,还有一个兼容版本的 npm 可用。

结语

在 Rocky Linux 服务器上有多种方法可以安装与运行 Node.js。您可以按需选择最合适的方法。虽然使用 Rocky 存储库中打包好的版本最简便,但使用 nvm 或 NodeSource 更具有灵活性。