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

2023-11-15

介绍

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

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

  • using dnf安装nodejs来自 Rocky 默认软件存储库的软件包
  • using dnf使用 Nodesource 软件存储库来安装特定版本的nodejs package
  • 安装nvm,Node Version Manager,并使用它来安装和管理 Node.js 的多个版本

对于许多用户来说,使用dnf使用默认的包源就足够了。如果您需要特定的较新(或旧)版本的 Node,则应使用 Nodesource 存储库。如果您正在积极开发 Node 应用程序并需要在node版本频繁,选择nvm method.

先决条件

本指南假设您使用的是 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 一起使用的模块和包。

至此你已经成功安装了 Node.js 并npm using dnf以及默认的 Rocky 软件存储库。下一节将向您展示如何使用备用存储库来安装不同版本的 Node.js。

选项 2 — 使用 NodeSource 存储库通过 DNF 安装 Node.js

要安装不同版本的 Node.js,您可以使用 NodeSource 存储库。 NodeSource 是一个第三方存储库,比官方 Rocky 存储库拥有更多可用的 Node.js 版本。截至撰写本文时,Node.js v14、v16 和 v18 已可用。

First, you’ll need to configure the repository locally, in order to get access to its packages. From your home directory, use curl to retrieve the installation script for your preferred version, making sure to replace 18.x with your preferred version string (if different).

  1. cd ~
  2. curl -sL https://rpm.nodesource.com/setup_18.x -o nodesource_setup.sh

请参阅节点源文档有关可用版本的更多信息。

您可以使用以下命令检查下载脚本的内容vi(或您喜欢的文本编辑器):

  1. vi节点源设置.sh

运行第三方 shell 脚本并不总是被认为是最佳实践,但在这种情况下,NodeSource 实现自己的逻辑,以确保根据发行版和版本要求将正确的命令传递到包管理器。如果您确信脚本可以安全运行,请退出编辑器,然后使用以下命令运行脚本sudo:

  1. sudo bash节点源设置.sh
Output
… ## Your system appears to already have Node.js installed from an alternative source. 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. ## You may run dnf if yum is not available: 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: 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. sudodnf 删除nodejsnpm -y
  2. ``命令
  3. sudo dnf install nodejs -y

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

  1. node -v
Output
v18.9.0

节点源nodejs包中包含node二进制和npm,所以你不需要安装npm分别地。

至此你已经成功安装了 Node.js 并npm using dnf和 NodeSource 存储库。下一节将展示如何使用 Node Version Manager 安装和管理 Node.js 的多个版本。

选项 3 — 使用节点版本管理器安装节点

安装 Node.js 的另一种特别灵活的方法是使用 nvm(节点版本管理器)。该软件允许您同时安装和维护许多不同的独立版本的 Node.js 及其关联的 Node 包。

要在 Rocky Linux 9 计算机上安装 NVM,请访问该项目的 GitHub 页面。复制curl来自主页上显示的自述文件的命令。这将为您提供最新版本的安装脚本。

在将命令通过管道传输到之前bash,审核脚本以确保它没有做任何您不同意的事情总是一个好主意。您可以通过删除| bash末尾的部分curl命令:

  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 file:

  1. source~/.bashrc

现在,您可以询问 NVM 哪些版本的 Node 可用:

  1. nvm 列表远程
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 installv16.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),后面是一些命名别名以及这些别名指向的版本。

Note:如果您还通过以下方式安装了 Node.js 版本dnf,你可能会看到一个system在这里输入。您始终可以使用以下命令激活系统安装的 Node 版本nvm use system.

您也可以安装基于这些别名的版本。例如,要安装fermium,运行以下命令:

  1. nvm installlts/镓
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 中编码.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Rocky Linux 9 上安装 Node.js 的相关文章

  • 使用 pg-promise 进行多行插入

    我想用一个插入多行INSERT查询 例如 INSERT INTO tmp col a col b VALUES a1 b1 a2 b2 有没有一种方法可以轻松地做到这一点 最好是对于像这样的对象数组 col a a1 col b b1 co
  • 我可以在谷歌云功能上托管nodejs GRPC服务器吗?

    我有一个在 AWS 实例上运行的 Nodejs GRPC 服务器 并且想迁移到谷歌云功能 这可能吗 我的无服务器选项有哪些 对的 这是可能的 to use 云功能 https cloud google com functions 为您gRP
  • Javascript 中的面向对象方法

    是否可以使用面向对象的方法在 Java 脚本中 我在中使用 JavaScript服务器端和客户端使用node js 当前我正在使用查询来进行CRUD操作而不是查询是否可以使用DTO S将数据保存在数据库中 是的 您可以使用原型继承来模拟它
  • 排除 npm 包中的测试代码?

    The 开发依赖 https docs npmjs com files package json devdependenciesnpm 的 package json 文档的部分说要在那里列出您的测试依赖项 以便您的包的用户不必拉取额外的依赖
  • Node 和 General 中的 MVC:模型如何与视图绑定?

    我从 node js 开始 正在制作一个简单的 MVC 框架 到目前为止 我已经有一个前端控制器 或 调度程序 如果你愿意的话 可以工作 路由通过调度程序配置模块进行 如图所示 我的问题在最后 紧接代码之后 另外 这是学习node的练习 请
  • 定时器内嵌套异步等待 - 不返回所需的值

    我必须使用 Mocha 和 chai 测试来测试端点的响应 下面是相同的代码 async function getData userId let response let interval setInterval async gt resp
  • 从 bash 脚本运行节点

    很简单 我正在尝试使用 cron 自动运行 nodejs 脚本 但是脚本本身似乎无法运行该文件 我的脚本很简单 usr bin env node node var node assets js update js 但是 在运行此命令时 它返
  • 如果 node_modules 目录存在,Azure 模拟器无法启动 Web 角色

    我想我只是偶然发现了一个非常奇怪的问题 我有一个相当大的解决方案 包括一个具有 3 个角色 两个工作角色和一个 Web 角色的 Azure 项目 Web角色基于asp net mvc和web api 昨天尝试 gulp 用于编译和捆绑较少的
  • 如何将现有回调 API 转换为 Promise?

    我想使用 Promise 但我有一个回调 API 其格式如下 1 DOM加载或其他一次性事件 window onload set to callback window onload function 2 普通回调 function requ
  • 从 google Drive 自行下载 xlsx 文件

    所以 我正在尝试制作一个小脚本 它将使用谷歌驱动器API下载一个Excel文件 通过遵循谷歌API教程 我遇到了两个错误 无法读取未定义的 on 属性 和 请求的转换是不支持 这是代码 const fs require fs const r
  • 将字符串数组转换为对象 Id 数组

    我有一个字符串数组 let stringObjectIdArray fssdlfsd343 43434234242 342424242 我想使用 mongoose 类型将字符串数组更改为对象 Id 数组 但它不起作用 它仅适用于字符串而不是
  • 显示来自 mongodb 的所有数据并在 doT.js 模板引擎中渲染它

    我想从 mongodb 中提取数据并将其传递给视图 一切似乎都正常 但我没有看到所有 10000 条记录都显示出来 而是只看到了一条 我觉得我非常接近解决它 但我陷入困境 我正在使用node mongodb native express和d
  • 让Webpack不捆绑文件

    所以现在我正在使用一个原型 我们使用 webpack 用于构建 tsx 文件和复制 html 文件 和 webpack dev server 之间的组合来提供开发服务 正如您可以假设的那样 我们也使用 React 和 ReactDOM 作为
  • 如何在 NodeJS 中允许表单数据

    我最近创建了一个接受文件的 API 我正在尝试使用 Postman 测试 API 如果我使用发出帖子请求x wwww form urlencoded身体类型 一切正常 我得到了所有预期的数据 唯一的问题是它不允许发送文件 如果我使用form
  • i18Next - NodeJS - 如何在不重新加载服务器的情况下更改翻译

    我正在使用 NodeJS 的 i18next 包来启用翻译 我将它作为标准 并为每个语言 国家对使用一个 json 文件 我想构建一个管理页面来编辑翻译 而无需深入研究代码 那么 如何 重新加载 管理员编辑过的 json 文件 而无需重新启
  • 将 Docker 与具有 Node-gyp 依赖项的 Nodejs 一起使用

    我计划使用 Docker 部署 node js 应用程序 该应用程序有几个需要node gyp的依赖项 Node gyp 根据交付平台上的编译库构建这些模块 例如 canvas lwip qrcode 根据我的经验 这些构建可能高度依赖于操
  • sails js 数据关系

    sails js 是否支持模型 集合之间的关系 如果是这样 有人可以指出文档吗 例如 我有 2 个模型 1 生产 production name string description text 2 Album album name stri
  • 如何在 Node.js 中打开 Windows-1255 编码文件?

    我有一个 Windows 1255 希伯来语 编码的文件 我希望能够在 Node js 中访问它 我尝试使用打开文件fs readFile 它给了我一个Buffer我无能为力 我尝试将编码设置为Windows 1255 但这没有被识别 我还
  • 运行 pm2 记录错误 SyntaxError: Unexpected token

    我想查看我的项目的日志 Steps 我克隆了一个套接字应用程序 然后我跑npm install pm2 g安装pm2 I run pm2 start 有用 它显示我的套接字应用程序的表格 但如果我跑pm2 logs查看日志 存在这样的错误
  • 如何使用node.js获取屏幕分辨率

    我需要使用 node js 获取屏幕分辨率 但以下代码不起作用 var w screen width var h screen height 这也行不通 var w window screen width var h window scre

随机推荐

  • 如何在 Ubuntu 18.04 上安装 Node.js 和 npm

    Node js 是一个开源跨平台 JavaScript 运行时环境 允许服务器端执行 JavaScript 代码 这意味着您可以在计算机上将 JavaScript 代码作为独立应用程序运行 无需使用任何 Web 浏览器 Node js 主要
  • 如何在 CentOS 7 上部署 Mattermost

    Mattermost 是一个开源即时通讯平台 是一个自托管的 Slack 替代品 它是用 Golang 和 React 编写的 可以使用 MySQL 或 PostgreSQL 作为数据库后端 Mattermost 将您的所有团队沟通集中到一
  • 如何在 CentOS 7 上安装 Plex 媒体服务器

    Plex 是一款流媒体服务器 可将您所有的视频 音乐和照片收藏集中在一起 并随时随地将它们流式传输到您的设备 在本教程中 我们将向您展示如何安装和配置Plex 媒体服务器在 CentOS 7 上 先决条件 在继续本教程之前 请确保您以以下身
  • Linux 中的 df 命令(检查磁盘空间)

    我的硬盘还剩多少空间 是否有足够的可用磁盘空间来下载大文件或安装新应用程序 在 Linux 和 Unix 操作系统上 您可以使用df命令获取有关系统磁盘空间使用情况的详细报告 使用 df 命令 的一般语法为df命令如下 df OPTIONS
  • 如何在 CentOS 8 上安装 Node.js 和 npm

    Node js 是一个基于 Chrome JavaScript 构建的跨平台 JavaScript 运行时环境 旨在在服务器端执行 JavaScript 代码 使用 Node js 您可以构建可扩展的网络应用程序 npm 是 Node Pa
  • 如何在 Debian 9 上安装 Webmin

    Webmin是一个用于管理 Linux 服务器的开源 Web 控制面板 使用 Webmin 您可以管理系统用户 组 磁盘配额以及配置最流行的服务 包括 Web ssh ftp 电子邮件和数据库服务器 本教程介绍如何在 Debian Linu
  • 如何在 Debian 11 上为专用连接设置 Squid 代理

    介绍 代理服务器是一种服务器应用程序 充当最终用户和互联网资源之间的网关 通过代理服务器 最终用户能够出于多种目的控制和监视其 Web 流量 包括隐私 安全和缓存 例如 您可以使用代理服务器从与您自己的 IP 地址不同的 IP 地址发出 W
  • 如何在 Ubuntu 16.04 上安装 MySQL

    介绍 MySQL是一个开源数据库管理系统 通常作为流行的一部分安装LAMP Linux Apache MySQL PHP Python Perl 堆栈 它使用关系数据库和 SQL 结构化查询语言 来管理其数据 简短版本的安装很简单 更新您的
  • Java IO 教程

    Java提供了几个类java io用于处理文本 流数据和文件系统的包 我最近提供了几个有关 Java 文件和 Java IO 的示例 这篇文章是所有 Java IO 文章的索引 Java IO 如何在 Java 中创建新文件在这篇文章中 您
  • Java Stream Collect() 方法示例

    Java Streamcollect 对流的元素执行可变归约操作 这是终端操作 什么是可变约简操作 可变归约操作处理流元素 然后将其累积到可变结果容器中 处理元素后 组合函数将合并所有结果容器以创建结果 Java Stream Collec
  • 快速初始化()

    在本 Swift 教程中 我们将讨论一个重要的概念 即 Swift init 或 Swift 初始化 初始化是当我们创建某种类型的实例时发生的事情 快速初始化 初始化是准备类 结构或枚举的实例以供使用的过程 此过程涉及为该实例上的每个存储属
  • 如何在 Debian Wheezy 上使用 Postfix 安装和配置 DKIM

    介绍 对于大多数邮件服务器管理员来说 被错误地标记为垃圾邮件发送者所带来的挫败感并不奇怪 通过排除服务器受损的可能性 错误标记通常是由以下原因之一引起的 该服务器是一个开放的邮件中继 发件人或服务器的 IP 地址已列入黑名单 服务器没有完全
  • Linux/Unix 中的 AWK 命令

    AWK 适用于模式搜索和处理 该脚本运行以搜索一个或多个文件以识别匹配模式以及所述模式是否执行特定任务 在本指南中 我们将了解 AWK Linux 命令并了解它的功能 AWK 可以执行哪些操作 逐行扫描文件 将每个输入行拆分为字段 将输入行
  • 如何在 Python 中将字符串转换为日期时间或时间对象

    介绍 蟒蛇datetime and time模块均包括strptime 将字符串转换为对象的类方法 在本文中 您将使用strptime 将字符串转换为datetime and struct time 对象 将字符串转换为datetime对象
  • 如何在 Ubuntu 18.04 上使用 Python 3 设置 Jupyter Notebook

    介绍 Jupyter笔记本是一个开源 Web 应用程序 可让您创建和共享交互式代码 可视化等 该工具可与多种编程语言一起使用 包括 Python Julia R Haskell 和 Ruby 它通常用于处理数据 统计建模和机器学习 本教程将
  • 了解 Vue.js 生命周期挂钩

    介绍 生命周期挂钩是了解您正在使用的库如何在幕后工作的窗口 生命周期钩子允许您知道组件何时被创建 添加到 DOM 更新或销毁 本文将向您介绍 Vue js 中的创建 安装 更新和销毁钩子 先决条件 要完成本教程 您需要 熟悉 Vue js
  • Java 单例类中的线程安全

    Singleton 是最广泛使用的创建型设计模式之一 用于限制应用程序创建的对象 如果是在多线程环境中使用 那么单例类的线程安全性就非常重要 在现实应用程序中 数据库连接或企业信息系统 EIS 等资源是有限的 应明智地使用以避免任何资源紧缩
  • Fail2Ban 如何保护 Linux 服务器上的服务

    介绍 SSH 是连接云服务器的事实上的方法 它耐用且可扩展 随着新的加密标准的开发 它们可用于生成新的 SSH 密钥 确保核心协议保持安全 然而 没有任何协议或软件堆栈是完全万无一失的 SSH 在互联网上如此广泛的部署意味着它代表了一种非常
  • 如何在运行 Ubuntu 的 VPS 上安装和使用 Composer

    Status 已弃用 本文介绍不再受支持的 Ubuntu 版本 如果您当前运行的服务器运行 Ubuntu 12 04 我们强烈建议您升级或迁移到受支持的 Ubuntu 版本 升级到Ubuntu 14 04 从 Ubuntu 14 04 升级
  • 如何在 Rocky Linux 9 上安装 Node.js

    介绍 Node js是用于服务器端编程的 JavaScript 运行时 它允许开发人员使用 JavaScript 创建可扩展的后端功能 这是许多人在基于浏览器的 Web 开发中已经熟悉的语言 在本指南中 您将了解在 Rocky Linux