如何在 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 更具有灵活性。