在 Rocky Linux 9.x 上安装 Node.js

前述

很多人都熟悉 JavaScript,这是一种基于浏览器的网页开发语言。而 Node.js 则是一个 JavaScript 运行环境,让开发者可以用 JavaScript 编写后端服务端程序,实现可扩展的后端功能。
本文将介绍在 Rocky Linux 9 服务器上安装 Node.js 的三种常用方法:

  1. 使用 dnf 从 Rocky Linux 默认软件源安装 Node.js
  2. 使用 dnf 从 Nodesource 软件仓库安装特定版本的 Node.js
  3. 安装 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

Avatar photo

关于 木子

Email: [email protected] 微信:rockylinuxcn QQ: 2306867585
Founder of the Rocky Linux Chinese community, MVP、VMware vExpert、TVP, advocate for cloud native technologies, with over ten years of experience in site reliability engineering (SRE) and the DevOps field. Passionate about Cloud Computing、Microservices、CI&CD、DevOps、Kubernetes, currently dedicated to promoting and implementing Rocky Linux in Chinese-speaking regions.
用一杯咖啡支持我们,我们的每一篇[文档]都经过实际操作和精心打磨,而不是简单地从网上复制粘贴。期间投入了大量心血,只为能够真正帮助到您。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇