Skip to main content

Node.js 在CentOS 8 开发环境

导言

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

在本指南中,我们将向您展示在CentOS 8服务器上安装Node.js的三种不同方式:

  • 使用dnf从CentOS的默认AppStream存储库安装nodejs软件包
  • 安装节点版本管理器nvm,并使用它安装和管理多个版本的node
  • 从源头构建和安装node

大多数用户应该使用dnf安装内置的预打包版本的Node。如果您是开发人员或以其他方式需要管理多个已安装版本的Node,请使用nvm方法。对大多数用户来说,从源头构建很少必要。

先决条件

要完成本教程,您需要一台运行CentOS 8的服务器。我们将假设您以非root、启用sudo的用户身份登录此服务器。要设置此设置,请参阅我们的CentOS 8初始服务器设置指南。

选项1——从CentOS AppStream存储库安装节点

Node.js可从CentOS 8的默认AppStream软件存储库获得。有多个版本可用,您可以通过启用适当的模块流在它们之间进行选择。首先使用dnf命令列出nodejs模块的可用流:

  1. sudo dnf module list nodejs
Output
Name                     Stream                   Profiles                                                Summary
nodejs                   10 [d]                   common [d], development, minimal, s2i                   Javascript runtime
nodejs                   12                       common, development, minimal, s2i                       Javascript runtime

有两条流可供选择,10和12条。[d]表示版本10是默认流。如果您希望安装Node.js 12,请立即切换模块流:

  1. sudo dnf module enable nodejs:12

系统将提示您确认您的决定。之后,版本12流将被启用,我们可以继续安装。有关使用模块流的更多信息,请参阅CentOS AppStream官方文档

使用dnf安装nodejs软件包:

  1. sudo dnf install nodejs

同样,dnf将要求您确认它将采取的行动。按y然后ENTER,软件将安装。

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

  1. node --version
Output
v12.13.1

如果您安装Node.js 10,您的--version输出将有所不同。

注:Node.js的两个可用版本都是长期支持版本,这意味着它们有一个更长的维护保障窗口。有关生命周期的更多信息,请参阅Node.js的官方发布页面

Installing the nodejs package should also install the npm Node Package Manager utility as a dependency. Verify that it was installed properly as well:

  1. npm --version
Output
6.12.1

此时,您已使用CentOS软件存储库成功安装Node.js和npm。下一节将展示如何使用节点版本管理器进行操作。

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

另一种安装Node.js的方法特别灵活,即使用nvm,即Node版本管理器。此软件允许您同时安装和维护许多不同版本的Node.js及其关联的Node软件包。

要在CentOS 8机器上安装NVM,请访问项目的GitHub页面。从主页上显示的README文件中复制curl命令。这将为您提供最新版本的安装脚本。

在将命令引导到bash之前,最好先审计脚本,以确保它没有做任何您不同意的事情。您可以通过删除curl命令末尾的| bash段来做到这一点:

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

看看,确保你对它正在做出的改变感到满意。当您满意时,请再次运行命令,并在末尾附加| bash”。您使用的URL将根据最新版本的NVM而更改,但从现在开始,可以通过键入来下载和执行脚本:

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

这将把nvm脚本安装到您的用户帐户中。要使用它,您必须首先源您的.bash_profile文件:

  1. source ~/.bash_profile

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

nvm list-remote
. . .
       v12.13.0   (LTS: Erbium)
       v12.13.1   (LTS: Erbium)
       v12.14.0   (LTS: Erbium)
       v12.14.1   (LTS: Erbium)
       v12.15.0   (LTS: Erbium)
       v12.16.0   (LTS: Erbium)
       v12.16.1   (Latest LTS: Erbium)
        v13.0.0
        v13.0.1
        v13.1.0
        v13.2.0
        v13.3.0
        v13.4.0
        v13.5.0
        v13.6.0
        v13.7.0
        v13.8.0
        v13.9.0
       v13.10.0
       v13.10.1
       v13.11.0
       v13.12.0

这是一个很长的列表!您可以通过键入您看到的任何发布版本来安装节点版本。例如,要获取版本v13.6.0,您可以键入:

  1. nvm install v13.6.0

您可以通过键入来查看您安装的不同版本:

nvm list
Output
->      v13.6.0
default -> v13.6.0
node -> stable (-> v13.6.0) (default)
stable -> 13.6 (-> v13.6.0) (default)

这显示了第一行(-> v13.6.0)上当前活跃的版本,然后是一些命名别名和这些别名指向的版本。

注意:如果您还通过CentOS软件存储库安装了节点版本,您可能会在这里看到system -> v12.13.1(或其他版本号)行。您始终可以使用nvm use system激活节点的系统版本。

此外,您将看到节点各种长期支持(或LTS)版本的别名:

Output
lts/* -> lts/erbium (-> 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.19.0 (-> N/A)
lts/erbium -> v12.16.1 (-> N/A)

我们也可以基于这些别名安装版本。例如,要安装最新的长期支持版本erbium,请运行以下内容:

  1. nvm install lts/erbium
Output
Downloading and installing node v12.16.1...
. . .
Now using node v12.16.1 (npm v6.13.4)

您可以在nvm use的已安装版本之间切换:

nvm use v13.6.0
Now using node v13.6.0 (npm v6.13.4)

您可以使用其他部分中的相同技术来验证安装是否成功,方法是键入:

node --version
Output
v13.6.0

正如我们预期的那样,我们的机器上安装了正确的节点版本。还提供兼容的npm版本。

选项3——从源头安装节点

安装Node.js的另一种方法是下载源代码并自行编译。

为此,请使用您的网页浏览器导航到Node.js官方下载页面,右键单击源代码链接,然后单击复制链接地址或浏览器为您提供的任何类似选项。

回到您的SSH会话,首先确保您位于可以写入的目录中。我们将使用当前用户的个人目录:

  1. cd ~

然后键入curl,粘贴您从网站上复制的链接,然后使用| tar xz关注它:

  1. curl https://nodejs.org/dist/v12.16.1/node-v12.16.1.tar.gz| tar xz

这将使用curl实用程序下载源,然后将其直接管道连接到tar实用程序,tar实用程序将将其提取到当前目录中。

进入新创建的源目录:

  1. cd node-v*

为了编译代码,我们需要从CentOS存储库下载一些软件包。立即使用dnf安装这些:

  1. sudo dnf install gcc-c++ make python2

系统将提示您确认安装。键入y,然后ENTER。现在,我们可以配置和编译软件:

  1. ./configure
  2. make -j4

编译需要很长时间(在四核服务器上大约30分钟)。我们使用-j4选项运行了四个并行编译过程。您可以省略此选项或根据可用处理器内核的数量更新数量。

编译完成后,您可以通过键入以下内容将软件安装到系统上:

  1. sudo make install

要检查安装是否成功,请让Node显示其版本号:

  1. node --version
v12.16.1

如果您看到正确的版本号,则安装成功完成。默认情况下,Node还安装了兼容的npm版本,因此它也应该可用。

结论

在本教程中,我们展示了如何使用CentOS AppStream软件存储库、使用Node Version Manager和从源编译来安装Node.js。

如果您想了解有关JavaScript编程的更多信息,请阅读我们的相关教程系列: