如何在 Ubuntu 18.04 上安装 Node.js

介绍

Node.js是一个用于通用编程的 JavaScript 平台,允许用户快速构建网络应用程序。通过在前端和后端利用 JavaScript,Node.js 使开发更加一致和集成。

在本指南中,我们将向您展示如何在 Ubuntu 18.04 服务器上开始使用 Node.js。

先决条件

本指南假设您使用的是 Ubuntu 18.04。在开始之前,您应该在系统上设置一个具有 sudo 权限的非 root 用户帐户。您可以按照Ubuntu 18.04初始服务器设置教程学习如何执行此操作

为 Ubuntu 安装发行稳定版

Ubuntu 18.04 在其默认存储库中包含一个 Node.js 版本,可用于提供跨多个系统的一致体验。在撰写本文时,存储库中的版本为 8.10.0。这不会是最新版本,但它应该是稳定的并且足以快速试验该语言。

要获得此版本,您可以使用apt包管理器。通过键入以下内容刷新本地包索引:

  • sudo apt update

从存储库安装 Node.js:

  • sudo apt install nodejs

如果存储库中的包满足您的需求,这就是您设置 Node.js 所需要做的全部工作。在大多数情况下,您还需要安装npmNode.js 包管理器。您可以通过键入:

  • sudo apt install npm

这将允许您安装模块和包以与 Node.js 一起使用。

由于与另一个包冲突,Ubuntu 存储库中的可执行文件被调用nodejs而不是node. 在运行软件时请记住这一点。

要在这些初始步骤后检查您安装的 Node.js 版本,请键入:

  • nodejs -v

一旦确定了从 Ubuntu 存储库安装的 Node.js 版本,您就可以决定是否要使用不同的版本、包存档或版本管理器。接下来,我们将讨论这些元素,以及更灵活、更可靠的安装方法。

使用 PPA 安装

要获得更新版本的 Node.js,您可以添加NodeSource维护PPA(个人包存档)这将拥有比官方 Ubuntu 存储库更多的 Node.js 最新版本,并允许您在 Node.js v10.x(维护 LTS 版本,支持到 2021 年 4 月)和 Node.js v12 之间进行选择.x(Active LTS 版本,支持到 2022 年 4 月)和 Node.js v14.x(当前版本,支持到 2023 年 4 月)。

首先,安装 PPA 以访问其内容。从您的主目录中,用于curl检索您首选版本的安装脚本,确保替换10.x为您首选的版本字符串(如果不同):

  • cd ~
  • curl -sL https://deb.nodesource.com/setup_10.x -o nodesource_setup.sh

您可以使用nano(或您首选的文本编辑器)检查此脚本的内容

  • nano nodesource_setup.sh

在 下运行脚本sudo

  • sudo bash nodesource_setup.sh

PPA 将添加到您的配置中,并且您的本地包缓存将自动更新。从 Nodesource 运行安装脚本后,您可以按照与上面相同的方式安装 Node.js 包:

  • sudo apt install nodejs

要在这些初始步骤后检查您安装的 Node.js 版本,请键入:

  • nodejs -v
Output
v10.22.0

nodejs软件包包含nodejs二进制文件以及npm,因此您无需npm单独安装

npm使用主目录中的配置文件来跟踪更新。它将在您第一次运行时创建npm执行此命令以验证npm已安装并创建配置文件:

  • npm -v
Output
6.14.6

为了让某些npm包工作(例如那些需要从源代码编译代码的build-essential),您需要安装该包:

  • sudo apt install build-essential

您现在拥有必要的工具来处理npm需要从源代码编译代码的包。

使用 NVM 安装

安装 Node.js 的另一种方法apt是使用一个名为 的工具nvm,它代表“Node.js 版本管理器”。不是在操作系统级别工作,而是nvm在主目录中的独立目录级别工作。这意味着您可以安装多个独立版本的 Node.js,而不会影响整个系统。

控制您的环境nvm允许您访问最新版本的 Node.js 并保留和管理以前的版本。apt但是,它与 是不同的实用程序,并且您使用它管理的 Node.js 版本与您使用 管理的版本不同apt

要从项目的 GitHub 页面下载nvm安装脚本,您可以使用. 请注意,版本号可能与此处突出显示的不同:curl

  • curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.35.3/install.sh -o install_nvm.sh

使用以下命令检查安装脚本nano

  • nano install_nvm.sh

运行脚本bash

  • bash install_nvm.sh

它会将软件安装到您的主目录的子目录中~/.nvm它还会将必要的行添加到您的~/.profile文件中以使用该文件。

要访问该nvm功能,您需要注销并重新登录或获取~/.profile文件,以便您的当前会话了解更改:

  • source ~/.profile

随着nvm安装,您可以安装隔离Node.js的版本。有关可用的 Node.js 版本的信息,请键入:

  • nvm ls-remote
Output
... v12.18.3 (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.13.0 v13.14.0 v14.0.0 v14.1.0 v14.2.0 v14.3.0 v14.4.0 v14.5.0 v14.6.0 v14.7.0

如您所见,撰写本文时当前的 LTS 版本是 v12.18.3。您可以通过键入以下内容进行安装:

  • nvm install 12.18.3

通常,nvm会切换到使用最近安装的版本。您可以nvm通过键入以下内容来告诉使用刚刚下载的版本:

  • nvm use 12.18.3

当您使用 安装 Node.js 时nvm,可执行文件被称为node您可以通过键入以下内容查看 shell 当前正在使用的版本:

  • node -v
Output
v12.18.3

如果您有多个 Node.js 版本,您可以通过键入以下内容查看安装的内容:

  • nvm ls

如果您希望默认其中一个版本,请键入:

  • nvm alias default 12.18.3

当新会话产生时,将自动选择此版本。您还可以通过别名引用它,如下所示:

  • nvm use default

每个版本的 Node.js 都会跟踪自己的包,并npm可以管理这些包。

您还可以npm将安装包安装到 Node.js 项目的./node_modules目录中。使用以下语法安装express模块:

  • npm install express

如果您想全局安装该模块,使其可用于使用相同版本的 Node.js 的其他项目,您可以添加-g标志:

  • npm install -g express

这会将软件包安装在:

~/.nvm/versions/node/12.18.3/lib/node_modules/express

全局安装模块将允许您从命令行运行命令,但您必须将包链接到本地​​范围以从程序中要求它:

  • npm link express

您可以nvm通过键入以下内容了解有关可用选项的更多信息

  • nvm help

删除 Node.js

您可以使用apt卸载 Node.js nvm,具体取决于您要定位的版本。要删除发行稳定版,您需要apt在系统级别使用该实用程序。

要删除发行版稳定版本,请键入以下内容:

  • sudo apt remove nodejs

此命令将删除包并保留配置文件。如果您打算稍后再次安装该软件包,这些可能对您有用。如果不想保存配置文件供以后使用,请运行以下命令:

  • sudo apt purge nodejs

这将卸载软件包并删除与其关联的配置文件。

作为最后一步,您可以删除随删除的软件包自动安装的任何未使用的软件包:

  • sudo apt autoremove

要卸载已使用 启用的 Node.js 版本nvm,请首先确定要删除的版本是否为当前活动版本:

  • nvm current

如果您的目标版本不是当前的活动版本,您可以运行:

  • nvm uninstall node_version

此命令将卸载所选版本的 Node.js。

如果要删除的版本当前活动版本,则必须先停用nvm以启用更改:

  • nvm deactivate

您现在可以使用uninstall上面命令卸载当前版本,这将删除与目标 Node.js 版本关联的所有文件,但可用于重新安装的缓存文件除外。

结论

有很多方法可以在 Ubuntu 18.04 服务器上启动和运行 Node.js。您的情况将决定上述哪种方法最适合您的需要。虽然使用 Ubuntu 存储库中的打包版本是最简单的方法,但使用nvm提供了额外的灵活性。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁