介绍
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
包管理器。 首先,刷新你的本地包索引:
sudo apt update
然后安装 Node.js 包:
sudo apt install nodejs
要验证安装是否成功,请运行带有 -v
标志的 node
命令以获取版本:
node -v
Outputv10.24.0
如果存储库中的包满足您的需求,那么您只需执行此操作即可使用 Node.js。 在大多数情况下,您还需要安装 Node.js 包管理器 npm
。 您可以通过使用 apt
安装 npm
包来做到这一点:
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
,您可以先安装它,然后再使用此命令进行下一步:
sudo apt install curl
安装 curl
后,您可以开始安装 Node.js。 此示例安装版本 16.x
。 您可以将 16.x
替换为您喜欢的版本。
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt install nodejs
在这种情况下,您不需要为 npm
安装单独的包,因为它包含在 nodejs
包中。
通过使用 -v
版本选项运行 node
来验证安装:
node -v
Outputv16.14.2
npm
使用主目录中的配置文件来跟踪更新。 它将在您第一次运行 npm
时创建。 执行此命令以验证 npm
是否已安装:
npm -v
Output8.5.0
使用节点版本管理器安装节点
通过 apt
安装 Node.js 的另一种方法是使用名为 nvm
的工具,它代表“节点版本管理器”。 nvm
不是在操作系统级别工作,而是在用户主目录中的独立目录级别工作。 这意味着您可以安装多个独立版本的 Node.js,而不会影响整个系统。
使用 nvm
控制您的环境允许您访问最新版本的 Node.js,同时保留和管理以前的版本。 但是,它与 apt
是不同的实用程序,并且您使用它管理的 Node.js 版本与使用 apt
管理的版本不同。
要在 Debian 10 上安装 nvm
,请按照 NVM Github 存储库 中 README 文件中的安装说明进行操作。
URL 可能会根据 nvm
的最新版本而改变,但在撰写本文时,可以通过键入以下内容下载和执行脚本:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
这会将 nvm
脚本安装到您的用户帐户。 要使用它,您必须首先获取您的 .bashrc
文件。 这允许您执行代码:
source ~/.bashrc
现在,您可以使用 nvm
列出可用的节点版本:
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,您可以键入:
nvm install v14.10.0
您可以通过键入以下内容查看已安装的不同版本:
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
,请运行以下命令:
nvm install lts/gallium
OutputDownloading and installing node v16.14.2... ... Now using node v16.14.2 (npm v8.5.0)
您可以通过键入以下内容来验证安装是否成功:
node -v
Outputv16.14.2
如果您希望使用特定的 Node 版本作为默认版本,请使用您选择的版本键入以下内容:
nvm alias default 14.10.0
当您在 Node.js 中启动新会话时,将自动选择此版本。 您也可以通过别名引用它,如下所示:
nvm use default
OutputNow using node v14.10.0 (npm v6.14.8)
每个版本的 Node.js 都会跟踪它自己的包,并有 npm
可用于管理这些包。
删除 Node.js
您可以使用 apt
或 nvm
卸载 Node.js,具体取决于您要定位的版本。 要从 Debian 存储库或 PPA 中删除安装的版本,您需要在系统级别使用 apt
实用程序。
要删除这些版本中的任何一个,请键入以下内容:
sudo apt remove nodejs
此命令将删除包和配置文件。
要卸载您使用 nvm
启用的 Node.js 版本,首先确定您要删除的版本是否是当前活动版本:
nvm current
Outputv16.14.2
如果您的目标版本是 而不是 当前活动版本,您可以使用要删除的版本运行此命令:
nvm uninstall node_version_to_remove
此命令将卸载所选版本的 Node.js。
如果您要删除 的版本是 当前激活的版本,您必须先停用 nvm
以启用您的更改:
nvm deactivate
您现在可以使用当前版本的 Node.js 使用 nvm uninstall
命令卸载当前版本。
nvm uninstall current_node_version
这将删除与 Node.js 的目标版本关联的所有文件,但可用于重新安装的缓存文件除外。
结论
有很多方法可以在 Debian 10 服务器上启动和运行 Node.js。 您的情况将决定上述哪种方法最适合您的需求。 虽然使用 Debian 存储库中的打包版本是一种实验选项,但从 PPA 安装并使用 NodeSource PPA 或 nvm
提供了额外的灵活性。
有关使用 Node.js 编程的更多信息,请参阅我们的教程系列 如何在 Node.js 中编码。