帮助中心
如何在Ubuntu 22.04上安装Node.js和npm?



Node.js是一个跨平台的、开源的JavaScript运行环境,建立在Chrome的JavaScript之上,被设计用来在网络浏览器之外执行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 Version Manager)。这个工具允许你在同一台机器上安装多个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版本。

1、以具有sudo权限的用户运行以下命令,下载并执行NodeSource安装脚本。

$ curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -

该脚本将把NodeSource签名密钥添加到你的系统中,创建一个apt存储库文件,安装所有必要的软件包,并刷新apt缓存。

如果你需要另一个Node.js版本,例如16.x,就把setup_18.x改为setup_16.x。

2、一旦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(Node Version Manager)是一个bash脚本,允许你在每个用户的基础上管理多个Node.js版本。通过NVM,你可以安装和卸载任何你想使用或测试的Node.js版本。

访问nvm的GitHub仓库页面,复制curl或wget命令来下载和安装nvm脚本。
$ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
不要使用sudo,因为它将为根用户启用nvm。

该脚本将从Github克隆项目的仓库到~/.nvm目录。

=> 关闭并重新打开你的终端,开始使用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
要获得所有可以用nvm安装的Node.js版本的列表,请运行。
$ 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。默认版本是打开新shell时的活动版本。

如果你想改变当前的活动版本,请输入。

$ 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版本。

购物车