介绍
Node.js是用于服务器侧编程的JavaScript运行时间,它允许开发人员使用JavaScript创建可扩展的后端功能,这是许多人在基于浏览器的Web开发中已经熟悉的语言。
在本指南中,您将学习如何在 Debian 10 服务器上以三种不同的方式安装 Node.js:
- 使用默认的 Debian 存储库
- 使用 PPA 软件存储库
- 使用 NVM (Node 版本管理器) 来安装和激活不同版本的 Node。
对于许多用户来说,与默认存储库一起使用apt就足够了. 如果您需要特定的新版本(或旧版本)的 Node,您应该使用 PPA 存储库. 如果您正在积极开发 Node 应用程序,并且需要经常切换版本,请选择 NVM 方法。
前提条件
在你开始之前,你应该有一个非 root 用户,在你的系统上设置了 sudo 权限,你可以通过遵循 Debian 10 的初始服务器设置教程来学习如何设置此设置。
从默认存储库中安装 Node.js 与 Apt
Debian 在其默认存储库中包含了一种版本的 Node.js,可用于在多个系统中提供一致的体验. 在写作时,存储库中的版本是 10.24.0. 这将不是最新版本,但它应该是稳定的,足以快速尝试该语言。
<$>[warning] 警告: Debian 10 版本 10.24.0 所包含的 Node.js 版本不受支持,也不受维护。
要从默认的 Debian 软件存储库中获取 Node.js,您可以使用apt包管理器。
1sudo apt update
然后安装 Node.js 包:
1sudo apt install nodejs
要验证安装成功,请运行节点命令以-v旗帜获取版本:
1node -v
1[secondary_label Output]
2v10.24.0
如果存储库中的包适合您的需求,这就是您需要做的,以便与 Node.js 进行设置。在大多数情况下,您还需要安装 Node.js 包管理器的 npm。
1sudo apt install npm
这将允许您安装与 Node.js 一起使用的模块和包。
在此时,您已经成功安装了 Node.js 和 npm 使用apt 和默认的 Ubuntu 软件存储库,下一节将展示如何使用替代的存储库来安装不同版本的 Node.js。
使用 NodeSource PPA 使用 Apt 安装 Node.js
要使用更新的 Node.js 版本,您可以从由 NodeSource维护的 PPA (个人包档案)中安装。 这是一个替代的存储库,它仍然与 apt 工作,并且将具有比官方的 Debian 存储库更新的 Node.js 版本。
从您的主目录中,使用curl来获取您喜爱的 Node.js 版本的安装脚本. 如果您没有安装的curl,您可以使用此命令安装它,然后继续下一步:
1sudo apt install curl
安装了curl后,您可以开始安装 Node.js。本示例安装了版本16.x。
1curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
2sudo apt install nodejs
在这种情况下,您不需要安装单独的npm包,因为它包含在nodejs包中。
通过使用-v版本选项运行节点来验证安装:
1node -v
1[secondary_label Output]
2v16.14.2
npm 使用您的主目录中的配置文件来跟踪更新. 它将创建在您首次运行 npm. 执行此命令以验证 npm 已安装:
1npm -v
1[secondary_label Output]
28.5.0
使用 Node 版本管理器安装 Node
通过apt来安装 Node.js 的替代方法是使用一个名为nvm的工具,即Node 版本管理器。而不是在操作系统层面工作,nvm在用户主目录中的独立目录层面工作,这意味着您可以安装多个 Node.js 版本,而不会影响整个系统。
通过nvm来控制您的环境,您可以访问最新版本的 Node.js,同时还可以保留和管理以前的版本,但它与apt不同,并且您使用它来管理的 Node.js 版本与您使用apt来管理的版本不同。
要在 Debian 10 上安装「nvm」,请遵循 NVM Github 存储库中的 README 文件上的安装说明。
该 URL 可能因nvm的最新版本而改变,但从此开始,可以通过键入下载并执行脚本:
1curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
这将为您的用户帐户安装 nvm 脚本. 要使用它,您必须先源您的 .bashrc 文件。
1source ~/.bashrc
现在,您可以使用nvm列出可用的 Node 版本:
1nvm list-remote
这个命令会产生长的输出:
1[secondary_label Output]
2...
3 v15.11.0
4 v15.12.0
5 v15.13.0
6 v15.14.0
7 v16.0.0
8 v16.1.0
9 v16.2.0
10 v16.3.0
11 v16.4.0
12 v16.4.1
13 v16.4.2
14 v16.5.0
15 v16.6.0
16 v16.6.1
17 v16.6.2
18 v16.7.0
19 v16.8.0
20 v16.9.0
21 v16.9.1
22 v16.10.0
23 v16.11.0
24 v16.11.1
25 v16.12.0
26 v16.13.0 (LTS: Gallium)
27 v16.13.1 (LTS: Gallium)
28 v16.13.2 (LTS: Gallium)
29 v16.14.0 (LTS: Gallium)
30 v16.14.1 (LTS: Gallium)
31 v16.14.2 (Latest LTS: Gallium)
32 v17.0.0
33 v17.0.1
34...
您可以通过键入您看到的任何版本来安装 Node 版本,例如,要安装版本 v14.10.0,您可以键入:
1nvm install v14.10.0
您可以通过键入查看您已安装的不同版本:
1nvm ls
1[secondary_label Output]
2-> v14.10.0
3 system
4default -> v14.10.0
5iojs -> N/A (default)
6unstable -> N/A (default)
7node -> stable (-> v14.10.0) (default)
8stable -> 14.10 (-> v14.10.0) (default)
9...
这显示了第一个行(-> v14.10.0)上当前活跃的版本,然后是一些命名的代名和这些代名指向的版本。
<$>[注]
注: 如果您还通过apt安装了 Node.js 的版本,您可能会在这里看到一个系统条目。
此外,此输出列出了各种 Node 长期支持 (LTS) 版本的副名称:
1[secondary_label Output]
2. . .
3lts/* -> lts/fermium (-> N/A)
4lts/argon -> v4.9.1 (-> N/A)
5lts/boron -> v6.17.1 (-> N/A)
6lts/carbon -> v8.17.0 (-> N/A)
7lts/dubnium -> v10.24.1 (-> N/A)
8lts/erbium -> v12.22.11 (-> N/A)
9lts/fermium -> v14.19.1 (-> N/A)
10lts/gallium -> v16.14.2 (-> N/A)
例如,要安装最新的长期支持版本,‘gallium’,请执行以下操作:
1nvm install lts/gallium
1[secondary_label Output]
2Downloading and installing node v16.14.2...
3...
4Now using node v16.14.2 (npm v8.5.0)
您可以通过键入来验证安装成功:
1node -v
1[secondary_label Output]
2v16.14.2
如果您想默认使用特定 Node 版本,请在您选择的版本中输入以下内容:
1nvm alias default 14.10.0
您在 Node 中启动新会话时会自动选择此版本,您还可以用以下字符引用它:
1nvm use default
1[secondary_label Output]
2Now using node v14.10.0 (npm v6.14.8)
每个版本的 Node.js 都将跟踪其自己的包,并有npm可用来管理这些包。
如何删除 Node.js
您可以使用apt或nvm去卸载 Node.js,取决于您想要瞄准的版本. 要从 Debian 存储库或 PPA 中移除已安装的版本,您需要在系统级别上使用apt实用程序。
若要删除这些版本,请键入以下内容:
1sudo apt remove nodejs
此命令会删除包和配置文件。
若要卸载您已使用nvm启用的 Node.js 版本,请先确定您想要移除的版本是否是当前活跃的版本:
1nvm current
1[secondary_label Output]
2v16.14.2
如果您瞄准的版本不是当前活跃的版本,则可以运行此命令,使用您想要删除的版本:
1nvm uninstall node_version_to_remove
此命令会卸载选定的 Node.js 版本。
如果您想要删除的版本 **是目前的活跃版本,您必须先禁用nvm才能启用更改:
1nvm deactivate
现在,您可以使用nvm uninstall命令与当前版本的 Node.js 一起卸载当前版本。
1nvm uninstall current_node_version
这将删除与 Node.js 的目标版本相关的所有文件,除了可用于重新安装的缓存文件。
结论
在您的 Debian 10 服务器上,有几种方法可以使用 Node.js。您的情况将决定哪种方法最适合您的需求。在 Debian 存储库中使用包装版本是实验的选择,但从 PPA 安装并使用 NodeSource PPA 或 'nvm' 工作提供了额外的灵活性。
有关 Node.js 编程的更多信息,请参阅我们的教程系列 How To Code in Node.js。