介绍
Node.js 是用于服务器端编程的 JavaScript 运行时。 它允许开发人员使用 JavaScript 创建可扩展的后端功能,这是一种许多人在基于浏览器的 Web 开发中已经熟悉的语言。
在本指南中,我们将向您展示在 Ubuntu 22.04 服务器上安装 Node.js 的三种不同方法:
- 使用
apt
从 Ubuntu 的默认软件存储库安装nodejs
软件包 - 使用带有备用 PPA 软件存储库的
apt
来安装nodejs
包的特定版本 - 安装
nvm
,Node 版本管理器,并使用它来安装和管理 Node.js 的多个版本
对于许多用户来说,使用带有默认 repo 的 apt
就足够了。 如果您需要特定的较新(或旧)版本的 Node,您应该使用 PPA 存储库。 如果你正在积极开发Node应用,需要频繁切换node
版本,选择nvm
方式。
先决条件
本指南假定您使用的是 Ubuntu 22.04。 在开始之前,您应该在系统上设置具有 sudo
权限的非 root 用户帐户。 您可以按照 Ubuntu 22.04 初始服务器设置教程 学习如何执行此操作。
如果您希望在浏览器中使用终端来学习本教程,请单击 Launch an Interactive Terminal! 按钮开始使用。 您将能够直接在浏览器中试验和运行所有命令。
启动交互式终端!
选项 1 — 从默认存储库安装带有 Apt 的 Node.js
Ubuntu 22.04 在其默认存储库中包含一个 Node.js 版本,可用于跨多个系统提供一致的体验。 在撰写本文时,存储库中的版本是 12.22.5。 这不会是最新版本,但它应该是稳定且足以快速试验该语言的。
警告: Ubuntu 22.04 版本 12.22.9 中包含的 Node.js 版本是 LTS 或“长期支持”版本。 它在技术上已经过时,但应该在 Ubuntu 24.04 发布之前得到支持。
要获取此版本,您可以使用 apt
包管理器。 首先通过键入以下内容刷新您的本地包索引:
sudo apt update
然后安装 Node.js:
sudo apt install nodejs
提示确认安装时按Y
。 如果系统提示您重新启动任何服务,请按 ENTER
接受默认设置并继续。 通过查询 node
的版本号来检查安装是否成功:
node -v
Outputv12.22.9
如果存储库中的包满足您的需求,那么您只需执行此操作即可使用 Node.js。 在大多数情况下,您还需要安装 Node.js 包管理器 npm
。 您可以通过使用 apt
安装 npm
包来做到这一点:
sudo apt install npm
这将允许您安装模块和包以与 Node.js 一起使用。
至此,您已经使用 apt
和默认的 Ubuntu 软件存储库成功安装了 Node.js 和 npm
。 下一节将展示如何使用备用存储库来安装不同版本的 Node.js。
选项 2 — 使用 NodeSource PPA 安装带有 Apt 的 Node.js
要安装不同版本的 Node.js,您可以使用 NodeSource 维护的 PPA(个人包存档)。 这些 PPA 具有比官方 Ubuntu 存储库更多的 Node.js 版本。 Node.js v14、v16 和 v17 在撰写本文时可用。
首先,我们将安装 PPA 以访问其包。 在您的主目录中,使用 curl
检索您的首选版本的安装脚本,确保将 17.x
替换为您的首选版本字符串(如果不同)。
cd ~ curl -sL https://deb.nodesource.com/setup_17.x -o nodesource_setup.sh
有关可用版本的更多信息,请参阅 NodeSource 文档。
您可以使用 nano
(或您喜欢的文本编辑器)检查下载脚本的内容:
nano nodesource_setup.sh
运行第三方 shell 脚本并不总是被认为是最佳实践,但在这种情况下,NodeSource 实现自己的逻辑,以确保根据发行版和版本要求将正确的命令传递给您的包管理器。 如果您对脚本可以安全运行感到满意,请退出编辑器,然后使用 sudo
运行脚本:
sudo bash nodesource_setup.sh
PPA 将添加到您的配置中,并且您的本地包缓存将自动更新。 您现在可以按照与上一节中相同的方式安装 Node.js 包。 在安装新版本之前,使用 sudo apt remove nodejs npm
完全删除旧的 Node.js 包可能是个好主意。 这根本不会影响您的配置,只会影响已安装的版本。 第三方 PPA 并不总是以直接升级库存软件包的方式打包他们的软件,如果您遇到问题,您可以随时尝试恢复到全新的状态。
sudo apt install nodejs
通过运行带有 -v
版本标志的 node
来验证您是否已安装新版本:
node -v
Outputv17.6.0
NodeSource nodejs
包包含 node
二进制文件和 npm
,因此您不需要单独安装 npm
。
至此,您已经使用 apt
和 NodeSource PPA 成功安装了 Node.js 和 npm
。 下一节将展示如何使用 Node 版本管理器来安装和管理 Node.js 的多个版本。
选项 3 — 使用节点版本管理器安装节点
另一种特别灵活的安装 Node.js 的方法是使用 nvm,即节点版本管理器。 该软件允许您同时安装和维护许多不同的独立版本的 Node.js 及其相关的 Node 包。
要在 Ubuntu 22.04 机器上安装 NVM,请访问 项目的 GitHub 页面 。 从显示在主页上的 README 文件中复制 curl
命令。 这将为您提供最新版本的安装脚本。
在将命令传送到 bash
之前,最好先审核脚本以确保它没有做任何您不同意的事情。 您可以通过删除 curl
命令末尾的 | bash
段来做到这一点:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh
看看并确保您对它所做的更改感到满意。 满意后,再次运行命令,并在末尾附加 | bash
。 您使用的 URL 将根据 nvm 的最新版本而改变,但截至目前,可以通过键入以下内容下载和执行脚本:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
这会将 nvm
脚本安装到您的用户帐户。 要使用它,您必须首先获取您的 .bashrc
文件:
source ~/.bashrc
现在,您可以询问 NVM 哪些版本的 Node 可用:
nvm list-remote
Output. . . v16.11.1 v16.12.0 v16.13.0 (LTS: Gallium) v16.13.1 (LTS: Gallium) v16.13.2 (LTS: Gallium) v16.14.0 (Latest LTS: Gallium) v17.0.0 v17.0.1 v17.1.0 v17.2.0 v17.3.0 v17.3.1 v17.4.0 v17.5.0 v17.6.0
这是一个很长的清单! 您可以通过键入您看到的任何发行版本来安装 Node 版本。 例如,要获取版本 v16.14.0(另一个 LTS 版本),您可以键入:
nvm install v16.14.0
您可以通过键入以下内容查看已安装的不同版本:
nvm list
Output-> v16.14.0 default -> v16.14.0 iojs -> N/A (default) unstable -> N/A (default) node -> stable (-> v16.14.0) (default) stable -> 16.14 (-> v16.14.0) (default) lts/* -> lts/gallium (-> v16.14.0) 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.10 (-> N/A) lts/fermium -> v14.19.0 (-> N/A) lts/gallium -> v16.14.0
这会在第一行 (-> v16.14.0
) 上显示当前活动的版本,然后是一些命名别名以及这些别名指向的版本。
注意: 如果您还通过 apt
安装了 Node.js 版本,您可能会在此处看到 system
条目。 您始终可以使用 nvm use system
激活系统安装的 Node 版本。
我们也可以安装基于这些别名的版本。 例如,要安装 fermium
,请运行以下命令:
nvm install lts/fermium
OutputDownloading and installing node v14.19.0... Downloading https://nodejs.org/dist/v14.19.0/node-v14.19.0-linux-x64.tar.xz... ################################################################################# 100.0% Computing checksum with sha256sum Checksums matched! Now using node v14.19.0 (npm v6.14.16)
您可以使用其他部分中的相同技术验证安装是否成功,方法是键入:
node -v
Outputv14.19.0
正如我们预期的那样,正确版本的 Node 已安装在我们的机器上。 还提供 npm
的兼容版本。
结论
在 Ubuntu 22.04 服务器上启动和运行 Node.js 有很多方法。 您的情况将决定上述哪种方法最适合您的需求。 虽然使用 Ubuntu 存储库中的打包版本是最简单的方法,但使用 nvm
或 NodeSource PPA 提供了额外的灵活性。
有关使用 Node.js 编程的更多信息,请参阅我们的教程系列 如何在 Node.js 中编码。