介绍
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
软件包管理器:
- sudo dnf install nodejs -y
通过查询node
的版本号来检查安装是否成功:
- node -v
Outputv16.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
替换为您偏好的版本字符串(如果不同的话)。
- 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…
## 您的系统似乎已经从另一个源安装了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
。这不会影响您的配置,只会影响已安装的版本。第三方仓库并不总是以直接覆盖原始软件包的方式打包其软件,如果遇到问题,您始终可以尝试恢复到初始状态。
- sudo dnf remove nodejs npm -y
-
- ```command
- sudo dnf install nodejs -y
通过使用-v
版本标志运行node
来验证您是否已安装新版本:
- node -v
Outputv18.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`部分来进行审计:
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh
看一下,确保你对它所做的更改感到满意。当你满意时,再次运行命令,末尾添加| bash
。你使用的URL将取决于nvm的最新版本,但截至目前,可以通过输入以下命令下载并执行脚本:
- 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版本),可以输入:
- 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
,运行以下命令:
- nvm install lts/gallium
OutputDownloading 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
Outputv16.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