Node.js是基于Chrome的JavaScript构建的跨平台JavaScript运行时环境,旨在在服务器端执行JavaScript代码。 它通常用于构建后端应用程序,但作为全栈和前端解决方案也很流行。 npm是Node.js的默认程序包管理器,也是世界上最大的软件注册表。

在本教程中,我们将探讨在Ubuntu 20.04上安装Node.js和npm的三种不同方式:

  • 来自标准Ubuntu存储库。 这是在Ubuntu上安装Node.js和npm的最简单方法,对于大多数用例来说应该足够了。 Ubuntu存储库中包含的版本为10.19.0
  • 来自NodeSource存储库。 如果要安装与Ubuntu存储库中提供的版本不同的Node.js版本,请使用此存储库。 当前,NodeSource支持Node.js v14.xv13.xv12.xv10.x
  • 使用nvm(Node版本管理器)。 该工具允许您在同一台计算机上安装多个Node.js版本。 如果您是Node.js开发人员,那么这是安装Node.js的首选方式。

选择适合您的环境的安装方法。 如果不确定要安装哪个Node.js版本,请查阅要部署的应用程序的文档。

从Ubuntu存储库安装Node.js和npm

在撰写本文时,Ubuntu 20.04存储库中包含的Node.js版本是10.19.0,它是先前的TLS版本。

安装非常简单。 运行以下命令以更新软件包索引并安装Node.js和npm:

sudo apt update
sudo apt install nodejs npm

上面的命令将安装许多软件包,包括编译和安装来自npm的本机插件所需的工具。

完成后,通过运行以下命令验证安装:

nodejs --version
v10.19.0

从NodeSource安装Node.js和npm

NodeSource是一家致力于提供企业级Node支持的公司。 它维护一个包含多个Node.js版本的APT存储库。 如果您的应用程序需要特定版本的Node.js,请使用此存储库。

在撰写本文时,NodeSource存储库提供以下版本:

  • v14.x-最新的稳定版本。
  • v13.x
  • v12.x-最新的LTS版本。
  • v10.x- LTS的先前版本。

我们将安装Node.js版本14.x:

以具有sudo特权的用户身份运行以下命令,以下载并执行NodeSource安装脚本:

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

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

如果您需要另一个Node.js版本, 示例12.x,将setup_14.x更改为setup_12.x

一旦启用NodeSource存储库,请安装Node.js和npm:

sudo apt install nodejs

nodejs软件包同时包含nodenpm二进制文件。

通过打印其版本来验证Node.js和npm是否已成功安装:

node --version
v14.2.0
npm --version
6.14.4

要能够从npm编译本机插件,您需要安装开发工具:

sudo apt install build-essential

使用NVM安装Node.js和npm

NVM(Node.js版本管理器)是一个bash脚本,可让您基于每个用户管理多个Node.js版本。 借助NVM,您可以安装和卸载要使用或测试的任何Node.js版本。

访问 nvm GitHub存储库页面并复制curl wget 命令以下载并安装nvm脚本:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/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脚本添加到PATH

一旦脚本在您的PATH中,请通过键入以下内容验证nvm是否已正确安装:

nvm --version
0.35.3

要获取可以用nvm安装的所有Node.js版本的列表,请运行:

nvm list-remote

该命令将打印出所有可用Node.js版本的列表。

要安装Node.js的最新可用版本,请运行:

nvm install node

输出应如下所示:

...
Checksums matched!
Now using node v14.2.0 (npm v6.14.4)
Creating default alias: default -> node (-> v14.2.0)

安装完成后,通过打印Node.js版本进行验证:

node --version
v14.2.0

让我们再安装两个版本,即最新的LTS版本和10.9.0版本:

nvm install --lts

您可以通过输入以下内容列出已安装的Node.js版本:

nvm ls

输出应如下所示:

>      v10.9.0
       v12.16.3
        v14.2.0
default -> node (-> v14.2.0)
node -> stable (-> v14.2.0) (default)
stable -> 14.2 (-> v14.2.0) (default)
iojs -> N/A (default)
unstable -> N/A (default)
lts/* -> lts/erbium (-> v12.16.3)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.20.1 (-> N/A)
lts/erbium -> v12.16.3

带有右箭头的条目(> v10.9.0)是当前Shell会话中使用的Node.js版本,默认版本设置为v14.2.0。 默认版本是打开新的shell会话时将激活的版本。

如果要更改当前活动的版本,请输入:

nvm use 12.16.3
Now using node v12.16.3 (npm v6.14.4)

要更改默认的Node.js版本,请运行以下命令:

nvm alias default 12.16.3

有关如何使用nvm脚本的更多详细信息,请访问项目的GitHub页面。

结论

我们向您展示了三种在Ubuntu 20.04服务器上安装Node.js和npm的方法。 您选择的方法取决于您的要求和偏好。 尽管从Ubuntu或NodeSource存储库安装打包版本更加容易,但是nvm方法为您提供了更大的灵活性,可以基于每个用户添加和删除不同的Node.js版本。

如果您想使用Yarn来管理应用程序依赖项,请查看我们的教程如何在Ubuntu 20.04 上安装和使用yarn。

如有任何疑问,请随时发表评论。