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

介绍

Node.js是用于服务器端编程的JavaScript运行时。它允许开发人员使用JavaScript创建可扩展的后端功能,这是许多人已经熟悉的语言,因为它常用于基于浏览器的Web开发。

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

  • 使用dnf从Rocky的默认软件存储库安装nodejs软件包
  • 使用dnf与Nodesource软件存储库一起安装nodejs软件包的特定版本
  • 安装Node版本管理器nvm,并使用它安装和管理多个Node.js版本

对于许多用户,使用默认软件源的dnf就足够了。如果您需要特定的更新(或旧版)Node版本,应使用Nodesource存储库。如果您正在积极开发Node应用程序并需要经常切换node版本,请选择nvm方法。

先决条件

本指南假定您正在使用Rocky Linux 9。在开始之前,您应该在系统上设置一个非root用户帐户,并具有sudo权限。您可以按照Rocky Linux 9初始服务器设置教程来学习如何做到这一点。

选项1 — 从默认存储库使用DNF安装Node.js

Rocky Linux 9的默认存储库中包含一个Node.js版本,可用于在多个系统上提供一致的体验。在撰写本文时,存储库中的版本为16.14.0。这可能不是最新版本,但应该是稳定的,足以快速尝试该语言。

要获取此版本,您可以使用dnf软件包管理器:

  1. sudo dnf install nodejs -y

通过查询node的版本号来检查安装是否成功:

  1. node -v
Output
v16.14.0

如果存储库中的软件包符合您的需求,那么这就是您设置Node.js所需的全部操作。Rocky的默认存储库中的Node.js软件包还附带有npm,这是Node.js的软件包管理器。这将允许您安装模块和软件包以供Node.js使用。

到目前为止,您已成功使用 dnf 和默认的 Rocky 软件仓库安装了 Node.js 和 npm。接下来的部分将向您展示如何使用备用仓库安装不同版本的 Node.js。

选项2 — 使用 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
Output
… ## 您的系统似乎已经从另一个源安装了Node.js。 Run `sudo yum remove -y nodejs npm` to remove these first. ## 运行 `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。这不会影响您的配置,只会影响已安装的版本。第三方仓库并不总是以直接覆盖原始软件包的方式打包其软件,如果遇到问题,您始终可以尝试恢复到初始状态。

  1. sudo dnf remove nodejs npm -y
  2. ```command
  3. sudo dnf install nodejs -y

通过使用-v版本标志运行node来验证您是否已安装新版本:

  1. node -v
Output
v18.9.0

NodeSource 的nodejs 包包含了 node 二进制文件和 npm,因此您无需单独安装npm

在这一步,您已成功使用`dnf`和NodeSource存储库安装了Node.js和`npm`。下一节将展示如何使用Node Version Manager安装和管理多个Node.js版本。

选项3 — 使用Node Version Manager安装Node

另一种特别灵活的安装Node.js的方法是使用nvm,即Node Version Manager。这个软件可以让您同时安装和维护许多不同独立的Node.js版本及其相关的Node包。

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

在将命令传递给`bash`之前,审查脚本始终是一个好主意,以确保它不会执行您不同意的任何操作。您可以通过删除`curl`命令末尾的`| bash`部分来进行审计:

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

看一下,确保你对它所做的更改感到满意。当你满意时,再次运行命令,末尾添加| bash。你使用的URL将取决于nvm的最新版本,但截至目前,可以通过输入以下命令下载并执行脚本:

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

这将在你的用户账户中安装nvm脚本。要使用它,你必须首先启动.bashrc文件:

  1. source ~/.bashrc

现在,你可以询问NVM有哪些Node版本可用:

  1. 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版本),可以输入:

  1. 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的某个版本,可能会在这里看到一个system条目。你可以随时使用nvm use system激活系统安装的Node版本。

你还可以基于这些别名安装一个发布版本。例如,要安装fermium,运行以下命令:

  1. 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)

你可以通过输入以下命令验证安装是否成功,与其他部分一样:

  1. node -v
Output
v16.17.0

我们的机器上已成功安装了正确版本的Node,我们期望的版本的npm也可用。

结论

在您的Rocky Linux服务器上运行Node.js有几种方法。您的具体情况将决定上述哪种方法最适合您的需求。虽然使用Rocky存储库中的打包版本是最简单的方法,但使用nvm或NodeSource存储库可以提供额外的灵活性。

有关使用Node.js进行编程的更多信息,请参阅我们的教程系列如何在Node.js中编码

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-rocky-linux-9