前述
很多人都熟悉 JavaScript,这是一种基于浏览器的网页开发语言。而 Node.js 则是一个 JavaScript 运行环境,让开发者可以用 JavaScript 编写后端服务端程序,实现可扩展的后端功能。
本文将介绍在 Rocky Linux 9 服务器上安装 Node.js 的三种常用方法:
- 使用
dnf
从 Rocky Linux 默认软件源安装 Node.js - 使用
dnf
从 Nodesource 软件仓库安装特定版本的 Node.js - 安装 Node 版本管理器(nvm),利用 nvm 安装和切换不同版本的 Node.js
对于大多数用户而言,通过 dnf 和默认软件仓库安装已经足够满足需求。
如果需要安装特定的新版本或旧版本的 Node.js,可以选择添加 Nodesource 软件仓库。
如果您是开发者,需频繁切换 Node.js 版本,则推荐使用 nvm,能够更加灵活地管理和使用不同版本的 Node.js。
通过 DNF 从默认仓库安装 Node.js
Rocky Linux 9 的默认软件仓库中包含了某一固定版本的 Node.js,这有助于为不同系统用户带来一致且稳定的体验。截至本文撰写时,仓库中提供的是 Node.js 16.20.2 与 npm 8.19.4 版本。虽然这并非最新版,但其稳定性良好,足以满足日常开发或 JavaScript 的基本实验需求。
# 使用 dnf 包管理器直接安装该版本的 Node.js
[root@demo-001 ~]# dnf install nodejs -y
# 安装完成后,可通过查询版本号以验证安装是否成功
[root@demo-001 ~]# node -v
v16.20.2
如果默认仓库中的版本能够满足您的需求,至此 Node.js 的安装工作就已经完成,同时也会自动安装 npm(Node.js 的包管理器),便于您管理和安装各种 Node.js 相关包。
接下来,我们将介绍如何使用其他仓库安装不同版本的 Node.js。
通过 DNF 从 NodeSource 仓库安装 Node.js
如果需要安装更高(或更低)版本的 Node.js,可以使用 NodeSource 这个第三方仓库。NodeSource 支持多个常用版本(如:v18、v20 和 v22)。使用前,需要先配置该仓库:
# 切换到家目录
[root@demo-001 ~]# cd ~
# 使用 curl 下载需安装版本的脚本(请根据需求将 18.x 替换为目标版本,例如 20.x)
[root@demo-001 ~]# curl -sL https://rpm.nodesource.com/setup_18.x -o nodesource_setup.sh
# 打开下载的脚本,检查内容确保安全
[root@demo-001 ~]# cat nodesource_setup.sh
# 执行脚本以添加 NodeSource 仓库
[root@demo-001 ~]# bash nodesource_setup.sh
# 删除其它版本 nodejs
[root@demo-001 ~]# dnf remove -y nodejs npm
# 安装 nodejs
[root@demo-001 ~]# dnf install nodejs -y
# 验证 Node.js 版本
[root@demo-001 ~]# node -v
v18.20.8
若需了解所有可用版本,请参考 NodeSource 官方文档。
通过 NodeSource 安装的 nodejs 包也会自动包含 npm
。若需要安装 Yarn 包管理器,可执行以下命令:
[root@demo-001 ~]# curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | tee /etc/yum.repos.d/yarn.repo
[root@demo-001 ~]# dnf install yarn
至此,您已通过 dnf 和 NodeSource 仓库成功安装了所需版本的 Node.js 和 npm。下一节将介绍如何使用 Node 版本管理器(nvm)安装和切换 Node.js 版本。
使用 NVM(Node 版本管理器)安装 Node.js
另一种更灵活的安装和管理方式是使用 NVM(Node Version Manager),它允许您在同一台机器上安装、切换和维护多个 Node.js 版本和相关包。
在 Rocky Linux 9 上安装 NVM,需先访问其 GitHub 页面获取安装脚本。建议先下载并查看脚本内容,确认安全无误,再执行安装。
相关链接:GitHub – nvm-sh/nvm: Node Version Manager – POSIX-compliant bash script to manage multiple active node.js versions
# 安装 nvm
[root@demo-001 ~]# curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
=> Downloading nvm from git to '/root/.nvm'
=> Cloning into '/root/.nvm'...
.....(略)
=> Compressing and cleaning up git repository
=> Appending nvm source string to /root/.bashrc
=> Appending bash_completion source string to /root/.bashrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
# 生效配置
[root@demo-001 ~]# source ~/.bashrc
# 检测命令 nvm 是否存在
[root@demo-001 ~]# command -v nvm
nvm
# 查看 nvm 中远程仓库的 node.js 版本有哪些,基本上包含所有版本
[root@demo-001 ~]# nvm ls-remote
......(略)
v22.11.0 (LTS: Jod)
v22.12.0 (LTS: Jod)
v22.13.0 (LTS: Jod)
v22.13.1 (LTS: Jod)
v22.14.0 (LTS: Jod)
v22.15.0 (LTS: Jod)
v22.15.1 (LTS: Jod)
v22.16.0 (LTS: Jod)
v22.17.0 (LTS: Jod)
v22.17.1 (Latest LTS: Jod)
......(略)
# 安装长期支持版
[root@demo-001 ~]# nvm install v22.17.1
[root@demo-001 ~]# node -v
v22.17.1
# 安装指定版本 [email protected]
[root@demo-001 ~]# npm install -g [email protected]
# 检测是否安装成功
[root@demo-001 ~]# pnpm -v
10.12.1
# 查看安装的版本
[root@demo-001 ~]# nvm ls
v20.19.4 # 已安装版本
-> v22.17.1 # 当前激活版本
default -> v22.17.1 # 默认版本
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v22.17.1) (default)
stable -> 22.17 (-> v22.17.1) (default)
lts/* -> lts/jod (-> v22.17.1)
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.21.3 (-> N/A)
lts/gallium -> v16.20.2 (-> N/A)
lts/hydrogen -> v18.20.8 (-> N/A)
lts/iron -> v20.19.4
lts/jod -> v22.17.1
# 查看当前版本
[root@demo-001 ~]# nvm current
v22.17.1
# 切换指定版本
[root@demo-001 ~]# nvm use v20.19.4
Now using node v20.19.4 (npm v10.8.2)
至此,我们想要的 Node 版本已按预期成功安装。此外,还有一个兼容版本的 npm
可用。
结语
在 Rocky Linux 服务器上,安装和运行 Node.js 有多种方式,您可以根据实际需求选择最合适的方法。通过 Rocky 官方仓库安装方式简单快捷,适合大多数日常场景;而使用 NodeSource 仓库或 nvm(Node 版本管理器)则能针对特定版本需求提供更高的灵活性。
参考文献
[1] GitHub – nvm-sh/nvm: Node Version Manager
[2] For mission-critical Node.js applications – NodeSource
