如何在Debian 10上安装Node.js

介绍

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

在本指南中,您将学习如何在Debian 10服务器上以三种不同的方式安装Node.js:

  • 使用默认的Debian存储库
  • 使用PPA软件存储库
  • 使用NVM(Node Version Manager)安装和激活不同版本的Node。

对于许多用户,使用默认存储库的apt将足以满足需求。如果您需要特定的新版(或旧版)Node,则应使用PPA存储库。如果您正在积极开发Node应用程序并需要频繁切换版本,请选择NVM方法。

先决条件

在开始之前,您应该在系统上设置一个具有sudo特权的非root用户。您可以通过按照Debian 10的初始服务器设置教程来学习如何设置。

使用默认存储库从 Apt 安装 Node.js

Debian 包含一个版本的 Node.js,可以在其默认存储库中使用,以在多个系统上提供一致的体验。撰写本文时,存储库中的版本是 10.24.0。这可能不是最新版本,但应该是稳定的,足以进行快速的语言实验。

警告:Debian 10 中包含的 Node.js 版本 10.24.0 不受支持且未维护。您不应在生产环境中使用此版本,并应参考本教程中的其他部分,安装更新的 Node.js 版本。

要从默认的 Debian 软件存储库获取 Node.js,您可以使用 apt 软件包管理器。首先,刷新本地软件包索引:

  1. sudo apt update

然后安装 Node.js 软件包:

  1. sudo apt install nodejs

要验证安装是否成功,请使用 -v 标志运行 node 命令获取版本:

  1. node -v
Output
v10.24.0

如果存储库中的软件包适合您的需求,这就是您设置 Node.js 所需做的一切。在大多数情况下,您还需要安装 Node.js 包管理器 npm。您可以通过使用 apt 安装 npm 软件包来实现:

  1. sudo apt install npm

这样就可以安装模块和包以供 Node.js 使用。

到目前为止,您已成功使用apt和默认的Ubuntu软件仓库安装了Node.js和npm。接下来的部分将展示如何使用备用仓库安装不同版本的Node.js。

使用NodeSource PPA通过Apt安装Node.js

为了使用更新版本的Node.js,您可以从由NodeSource维护的PPA(个人软件包存档)中安装。这是一个备用仓库,仍然可以使用apt,并且会比官方的Debian仓库提供更新版本的Node.js。NodeSource为多个Node版本提供了PPA。有关可用版本的更多信息,请参阅NodeSource文档

从您的主目录中,使用curl检索您首选的Node.js版本的安装脚本。如果您尚未安装curl,您可以使用以下命令在继续下一步之前安装它:

  1. sudo apt install curl

安装了curl后,您可以开始安装Node.js。此示例安装16.x版本。您可以将16.x替换为您首选的版本。

  1. curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
  2. sudo apt install nodejs

在这种情况下,您不需要单独安装npm包,因为它已经包含在nodejs包中。

通过使用-v版本选项运行node来验证安装:

  1. node -v
Output
v16.14.2

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

  1. npm -v
Output
8.5.0

使用Node版本管理器安装Node

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

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

要在 Debian 10 上安装 nvm,请按照 NVM Github 仓库中的安装说明操作。

URL 可能会根据 nvm 的最新版本而变化,但在撰写本文时,可以通过输入以下命令下载并执行脚本:

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

这将会将 nvm 脚本安装到您的用户帐户中。要使用它,您必须首先源化您的 .bashrc 文件。这样可以让您执行以下代码:

  1. source ~/.bashrc

现在,您可以使用 nvm 列出可用的 Node 版本:

  1. nvm list-remote

此命令将产生长时间的输出:

Output
... v15.11.0 v15.12.0 v15.13.0 v15.14.0 v16.0.0 v16.1.0 v16.2.0 v16.3.0 v16.4.0 v16.4.1 v16.4.2 v16.5.0 v16.6.0 v16.6.1 v16.6.2 v16.7.0 v16.8.0 v16.9.0 v16.9.1 v16.10.0 v16.11.0 v16.11.1 v16.12.0 v16.13.0 (LTS: Gallium) v16.13.1 (LTS: Gallium) v16.13.2 (LTS: Gallium) v16.14.0 (LTS: Gallium) v16.14.1 (LTS: Gallium) v16.14.2 (Latest LTS: Gallium) v17.0.0 v17.0.1 ...

您可以通过键入您看到的任何发布版本来安装 Node 的版本。例如,要安装版本 v14.10.0,您可以输入:

  1. nvm install v14.10.0

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

  1. nvm ls
Output
-> v14.10.0 system default -> v14.10.0 iojs -> N/A (default) unstable -> N/A (default) node -> stable (-> v14.10.0) (default) stable -> 14.10 (-> v14.10.0) (default) ...

这将显示当前活动版本在第一行(-> v14.10.0),然后是一些命名别名以及这些别名指向的版本。

注意: 如果您还通过 apt 安装了 Node.js 的版本,您可能会在这里看到一个 system 条目。您可以使用 nvm use system 激活系统安装的 Node 版本。

此外,此输出列出了各种 Node 的长期支持(LTS)版本的别名:

Output
. . . lts/* -> lts/fermium (-> 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.11 (-> N/A) lts/fermium -> v14.19.1 (-> N/A) lts/gallium -> v16.14.2 (-> N/A)

我们也可以根据这些别名安装一个发布版本。例如,要安装最新的长期支持版本 gallium,请运行以下命令:

  1. nvm install lts/gallium
Output
Downloading and installing node v16.14.2... ... Now using node v16.14.2 (npm v8.5.0)

您可以通过输入以下内容来验证安装是否成功:

  1. node -v
Output
v16.14.2

如果您希望使用特定的 Node 版本作为默认版本,请输入以下内容,并替换为您选择的版本:

  1. nvm alias default 14.10.0

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

  1. nvm use default
Output
Now using node v14.10.0 (npm v6.14.8)

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

移除 Node.js

您可以使用 aptnvm 来卸载 Node.js,具体取决于您要针对的版本。要移除从 Debian 存储库或 PPA 安装的版本,您需要在系统级别使用 apt 实用程序。

要移除这些版本中的任何一个,请输入以下内容:

  1. sudo apt remove nodejs

此命令将移除包和配置文件。

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

  1. nvm current
Output
v16.14.2

如果您要移除的版本不是当前活动版本,则可以使用您想要移除的版本运行以下命令:

  1. nvm uninstall node_version_to_remove

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

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

  1. nvm deactivate

您现在可以使用 nvm uninstall 命令卸载当前版本的 Node.js。

  1. nvm uninstall current_node_version

这将删除与目标 Node.js 版本相关联的所有文件,但会保留可用于重新安装的缓存文件。

结论

有很多种方法可以在您的 Debian 10 服务器上运行 Node.js。您的情况将决定以上哪种方法最适合您的需求。尽管在 Debian 存储库中使用打包的版本是一种尝试的选择,但从 PPA 安装并使用 NodeSource PPA 或 nvm 提供了额外的灵活性。

有关使用 Node.js 编程的更多信息,请参阅我们的教程系列 如何在 Node.js 中编码

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-debian-10