Node.js 是基于 Chrome 的 JavaScript 构建的跨平台、开源 JavaScript 运行时环境,旨在在 Web 浏览器之外执行 JavaScript 代码。它通常用于构建快速且可扩展的服务器端和网络应用程序。npm 是 Node.js 的默认包管理器,也是世界上最大的软件注册表的名称。在这篇文章中,我们将探讨在 Ubuntu 22.04 上安装 Node.js 和 npm 的三种不同方式:
- 来自标准的 Ubuntu 存储库。这是在 Ubuntu 上安装 Node.js 和 npm 的最简单方法,对于大多数用例来说应该足够了。Ubuntu 存储库中包含的版本是
v12.22.9
. - 从 NodeSource 存储库。使用此存储库安装与 Ubuntu 存储库中提供的版本不同的 Node.js 版本。目前,NodeSource 支持 Node.js
v18.x
、v17.x
、v16.x
和v14.x
. - 使用
nvm
(节点版本管理器)。此工具允许您在同一台机器上安装多个 Node.js 版本。如果您是 Node.js 开发人员,那么这是安装 Node.js 的首选方式。
选择最适合您的环境的安装方法。如果您不确定要安装哪个 Node.js 版本,请查阅您要部署的应用程序的文档。
从 Ubuntu 存储库安装 Node.js 和 npm
在撰写本文时,默认 Ubuntu 22.04 存储库中包含的 Node.js 版本v12.22.9
是较旧的 TLS 版本。安装非常简单。运行以下命令来更新包索引并安装 Node.js 和 npm:
sudo apt update
sudo apt install nodejs npm
上面的命令将安装许多包,包括从 npm 编译和安装本机插件所需的工具。完成后,通过运行验证安装:
nodejs -v
v12.22.9
从 NodeSource 安装 Node.js 和 npm
NodeSource 是一家专注于提供企业级 Node 支持的公司。它维护一个包含多个 Node.js 版本的 APT 存储库。如果您的应用程序需要特定版本的 Node.js,请使用此存储库。在撰写本文时,NodeSource 存储库提供以下版本:
- v18.x - 最新的稳定版本。
- v17.x
- v16.x - 最新的 LTS 版本。
- v14.x
我们将安装 Node.js 版本 18.x:
- 以具有 sudo 权限的用户运行以下命令 ,下载并执行 NodeSource 安装脚本:
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -
该脚本会将 NodeSource 签名密钥添加到您的系统,创建一个apt 存储库 文件,安装所有必要的包,并刷新 apt 缓存。如果您需要另一个 Node.js 版本,例如
16.x
,请更改setup_18.x
withsetup_16.x
。 - 启用 NodeSource 存储库后,安装 Node.js 和 npm:
sudo apt install nodejs
nodejs 包包括二进制文件
node
和npm
二进制文件。 - 通过打印它们的版本来验证 Node.js 和 npm 是否已成功安装:
node -v
v18.2.0
npm -v
8.9.0
为了能够从 npm 编译本机插件,您需要安装开发工具 :
sudo apt install build-essential
使用 NVM 安装 Node.js 和 npm
NVM(节点版本管理器)是一个 bash 脚本,允许您基于每个用户管理多个 Node.js 版本。使用 NVM,您可以安装和卸载要使用或测试的任何 Node.js 版本。访问nvm GitHub 存储库 页面并复制curl
orwget
命令以下载并安装nvm
脚本:
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
不要使用sudo
,因为它会为 root 用户启用nvm
。该脚本会将项目的存储库从 Github 克隆到该~/.nvm
目录:
=> Close and reopen your terminal to start using nvm or run the following to use it now:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion" # This loads nvm bash_completion
正如上面的输出所说,您应该关闭并重新打开终端或运行命令以将脚本路径添加 到nvm
当前 shell 会话。你可以做任何对你来说更容易的事情。一旦脚本在您的 中PATH
,请通过键入以下内容验证是否nvm
已正确安装:
nvm -v
0.39.1
要获取可以安装的所有 Node.js 版本的列表nvm
,请运行:
nvm list-remote
该命令将打印所有可用 Node.js 版本的大量列表。
...
v14.19.2 (LTS: Fermium)
v14.19.3 (Latest LTS: Fermium)
...
v16.14.2 (LTS: Gallium)
v16.15.0 (Latest LTS: Gallium)
v17.0.0
v17.0.1
...
v18.1.0
v18.2.0
要安装最新可用版本的 Node.js,请运行:
nvm install node
输出应如下所示:
...
Now using node v18.2.0 (npm v8.9.0)
Creating default alias: default -> node (-> v18.2.0)
安装完成后,通过打印 Node.js 版本来验证它:
node -v
v18.2.0
让我们再安装两个版本,最新的 LTS 版本(16.15.0)和版本14.19.3
:
nvm install --lts
nvm install 14.19.3
您可以通过键入以下内容列出已安装的 Node.js 版本:
nvm ls
输出应如下所示:
-> v14.19.3
v16.15.0
v18.2.0
default -> node (-> v18.2.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v18.2.0) (default)
stable -> 18.2 (-> v18.2.0) (default)
lts/* -> lts/gallium (-> v16.15.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.12 (-> N/A)
lts/fermium -> v14.19.3
lts/gallium -> v16.15.0
右侧带箭头的条目 ( -> v14.19.3
) 是当前 shell 会话中使用的 Node.js 版本,默认版本设置为v18.2.0
。默认版本是打开新外壳时将激活的版本。如果要更改当前活动的版本,请输入:
nvm use 16.15.0
Now using node v16.15.0 (npm v8.5.5)
要更改默认 Node.js 版本,请运行以下命令:
nvm alias default 16.15.0
有关使用nvm
脚本的更多详细信息,请访问项目的 GitHub 页面。
结论
我们向您展示了在 Ubuntu 22.04 机器上安装 Node.js 和 npm 的三种方法。您选择的方法取决于您的要求和偏好。尽管从 Ubuntu 或 NodeSource 存储库安装打包版本更容易,但 nvm 方法为您提供了更大的灵活性,可以根据每个用户添加和删除不同的 Node.js 版本。