介绍
Node.js 是一个用于服务器侧编程的 JavaScript 运行时间,它允许开发人员使用 JavaScript 创建可扩展的后端功能,这是许多人在基于浏览器的 Web 开发中已经熟悉的语言。
在本指南中,我们将向您展示三种不同的方法来将 Node.js 安装在 CentOS 8 服务器上:
- 使用「dnf」來安裝「nodejs」套件,從 CentOS 的默認 AppStream 儲存庫
- 安裝「nvm」、Node 版本管理器,並使用它來安裝和管理「node' *」的多個版本,並從 source 安裝「node」
大多数用户应该使用dnf
来安装内置的预先包装的Node版本. 如果您是开发人员或需要管理多个安装的Node版本,请使用nvm
方法。
前提条件
要完成本教程,您将需要运行 CentOS 8 的服务器。我们将假定您已登录该服务器为非root 、具有sudo
功能的用户。
选项 1 — 从 CentOS AppStream 存储库中安装节点
Node.js 可从 CentOS 8 的默认 AppStream 软件存储库中获取,有多个版本可供选择,您可以通过启用适当的 module stream 来选择它们。
1sudo dnf module list nodejs
1[secondary_label Output]
2Name Stream Profiles Summary
3nodejs 10 [d] common [d], development, minimal, s2i Javascript runtime
4nodejs 12 common, development, minimal, s2i Javascript runtime
两个流是可用的,‘10’和‘12’。‘[d]’表示版本10是默认流. 如果您更喜欢安装Node.js 12,现在可以切换模块流:
1sudo dnf module enable nodejs:12
您将被要求确认您的决定,之后将启用版本 12 流,我们可以继续安装。 有关如何使用模块流的更多信息,请参阅 官方 CentOS AppStream 文档。
安装nodejs
包与dnf
:
1sudo dnf install nodejs
再次,dnf
将要求您确认它将采取的行动. 按y
然后按ENTER
,然后软件将安装。
检查安装是否成功,请查询其版本号的节点
:
1node --version
1[secondary_label Output]
2v12.13.1
如果您安装了 Node.js 10,您的--版本
输出将有所不同。
<$>[注] 注: Node.js 的两种可用版本都是 长期支持 版本,这意味着它们有一个更长时间的维护窗口。
安装nodejs
包时,还应安装npm
Node Package Manager 实用程序作为依赖。
1npm --version
1[secondary_label Output]
26.12.1
在此时刻,您已使用 CentOS 软件存储库成功设置 Node.js 和 npm. 下一节将展示如何使用 Node 版本管理器来做到这一点。
选项 2 — 使用 Node 版本管理器安装 Node
安装 Node.js 的另一个特别灵活的方法是使用 nvm,Node 版本管理器. 该软件允许您同时安装和维护许多不同的独立版本的 Node.js 及其相关的 Node 包。
要在您的 CentOS 8 机器上安装 NVM,请访问 该项目的 GitHub 页面。 复制从主要页面上显示的 README 文件中的 curl
命令。
在将命令输入到bash
之前,它总是是一个好主意来审核脚本,以确保它没有做任何你不同意的事情。
1curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh
看看并确保您对它正在进行的更改感到满意。当您满意时,请再次运行命令,在末尾附带的bash
。您使用的URL将取决于最新版本的NVM,但从现在开始,脚本可以通过键入来下载和执行:
1curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
这将为您的用户帐户安装 nvm
脚本. 要使用它,您必须先源您的 .bash_profile
文件:
1source ~/.bash_profile
现在,您可以询问 NVM 哪些版本的 Node 可用:
1nvm list-remote
1. . .
2 v12.13.0 (LTS: Erbium)
3 v12.13.1 (LTS: Erbium)
4 v12.14.0 (LTS: Erbium)
5 v12.14.1 (LTS: Erbium)
6 v12.15.0 (LTS: Erbium)
7 v12.16.0 (LTS: Erbium)
8 v12.16.1 (Latest LTS: Erbium)
9 v13.0.0
10 v13.0.1
11 v13.1.0
12 v13.2.0
13 v13.3.0
14 v13.4.0
15 v13.5.0
16 v13.6.0
17 v13.7.0
18 v13.8.0
19 v13.9.0
20 v13.10.0
21 v13.10.1
22 v13.11.0
23 v13.12.0
这是一个很长的列表! 您可以通过键入您看到的任何版本来安装 Node 的版本. 例如,要获得版本 v13.6.0,您可以键入:
1nvm install v13.6.0
您可以通过键入查看您安装的不同版本:
1nvm list
1[secondary_label Output]
2-> v13.6.0
3default -> v13.6.0
4node -> stable (-> v13.6.0) (default)
5stable -> 13.6 (-> v13.6.0) (default)
这显示了第一个行(-> v13.6.0
)上当前活跃的版本,然后是一些命名的代名和这些代名指向的版本。
<$>[注]
注: 如果您还通过 CentOS 软件存储库安装了 Node 版本,您可能会看到一个系统 -> v12.13.1
(或其他版本号码)的行。
此外,您还会看到各种 Node 的长期支持(或 LTS)版本的副名称:
1[secondary_label Output]
2lts/* -> lts/erbium (-> N/A)
3lts/argon -> v4.9.1 (-> N/A)
4lts/boron -> v6.17.1 (-> N/A)
5lts/carbon -> v8.17.0 (-> N/A)
6lts/dubnium -> v10.19.0 (-> N/A)
7lts/erbium -> v12.16.1 (-> N/A)
例如,要安装最新的长期支持版本「erbium」,请执行以下操作:
1nvm install lts/erbium
1[secondary_label Output]
2Downloading and installing node v12.16.1...
3. . .
4Now using node v12.16.1 (npm v6.13.4)
您可以通过使用 nvm
在安装的版本之间切换:
1nvm use v13.6.0
1Now using node v13.6.0 (npm v6.13.4)
您可以通过键入其他部分的相同技术来验证安装是否成功:
1node --version
1[secondary_label Output]
2v13.6.0
正確的 Node 版本正如我們所期望的那樣安裝在我們的機器上。
选项 3 – 从源头安装 Node
安装 Node.js 的另一种方法是下载源代码并自行编译。
要做到这一点,请使用您的 Web 浏览器导航到 官方 Node.js 下载页面,右键单击 源代码 链接,然后单击 ** 复制链接地址** 或您的浏览器为您提供的类似选项。
在您的 SSH 会话中,首先确保您在一个可以写入的目录中,我们将使用当前用户的家庭目录:
1cd ~
然后键入弯曲
,粘贴您从网站上复制的链接,然后跟随它用 tar xz
:
1curl https://nodejs.org/dist/v12.16.1/node-v12.16.1.tar.gz | tar xz
这将使用弯曲
实用程序来下载源,然后 pipe 直接到tar
实用程序中,该实用程序将其提取到当前目录中。
移动到新创建的源目录:
1cd node-v*
有几个包,我们需要从CentOS存储库下载,以便编译代码。
1sudo dnf install gcc-c++ make python2
您将被要求确认安装。输入y
,然后输入ENTER
。现在,我们可以配置和编译软件:
1./configure
2make -j4
编译需要很长时间(在四核服务器上大约30分钟)。我们已经使用了-j4
选项来运行四个并行编译过程。
编译完成后,您可以通过键入在您的系统上安装该软件:
1sudo make install
要检查安装是否成功,请要求 Node 显示其版本号:
1node --version
1v12.16.1
如果您看到正确的版本号码,则安装已成功完成. 默认情况下,Node 还会安装一个兼容的版本的 npm
,所以这也应该是可用的。
结论
在本教程中,我们展示了如何使用 CentOS AppStream 软件存储库、使用 Node Version Manager 以及从源编译来安装 Node.js。
如果您想了解有关JavaScript编程的更多信息,请阅读我们的相关教程系列:
- 如何在JavaScript中编码:对JavaScript语言的全面概述,适用于浏览器和Node.js
- 如何在Node.js中编码:一系列练习,教导使用Node.js 的基本知识