如何在 Ubuntu 18.04 上安装 Node.js

介绍

Node.js是一个用于通用编程的JavaScript平台,允许用户快速构建网络应用程序。

在本指南中,您将了解在 Ubuntu 18.04 服务器上安装 Node.js 的三个不同的方法。

前提条件

本指南假定您正在使用Ubuntu 18.04. 在您开始之前,您应该有一个非root 用户帐户,在您的系统上设置了sudo特权。

使用 Apt 从默认存储库安装 Node.js

Ubuntu 18.04 包含一个版本的 Node.js 在其默认存储库中,可以用来为多个系统提供一致的体验. 在写作时,存储库中的版本是 8.10.0. 这将不是最新版本,但它应该是稳定的,足以快速尝试语言。

要获取此版本,您可以使用apt包管理器更新本地包索引:

1sudo apt update

现在安装 Node.js:

1sudo apt install nodejs

通过查询节点来验证您已成功安装了 Node.js 版本号:

1node -v
1[secondary_label Output]
2v8.10.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 (个人包档案)。

从您的主目录中,使用‘curl’来获取您喜爱的版本的安装脚本,确保用您喜爱的版本字符串取代‘17.x’(如果不同):

1cd ~
2curl -sL https://deb.nodesource.com/setup_17.x -o /tmp/nodesource_setup.sh

您可以参阅 NodeSource 文档以获取有关目前可用的版本的更多信息。

如果你喜欢,你可以检查这个脚本的内容,用nano(或你喜欢的文本编辑器):

1nano /tmp/nodesource_setup.sh

一旦您确定脚本安全运行,请退出文本编辑器. 如果您使用了nano,您可以通过按CTRL + X来退出。

1sudo bash /tmp/nodesource_setup.sh

PPA 将被添加到您的配置中,您的本地包缓存将自动更新,现在您可以像上一节一样安装 Node.js 包:

1sudo apt install nodejs

通过运行节点-v旗帜来验证您已安装了新版本:

1node -v
1[secondary_label Output]
2v17.3.0

与默认的Ubuntu包存储库不同,这个nodejs包包含nodenpm,因此您不需要单独安装npm

npm 使用您的主目录中的配置文件来跟踪更新. 它将创建在您首次运行 npm. 运行以下命令来验证 npm 已安装并创建配置文件:

1npm -v
1[secondary_label Output]
28.3.0

为了使某些npm包工作(例如需要编译源代码的包),您需要安装build-essential包:

1sudo apt install build-essential

现在你有必要的工具来处理需要编译源代码的npm包。

在本节中,您使用apt和NodeSource PPA成功安装了Node.js和npm

使用 Node 版本管理器安装 Node

安装 Node.js 的另一种选择是使用一个名为nvm的工具,即 Node 版本管理器(NVM)。而不是在操作系统层面工作,nvm在您的主目录中以独立目录的层面工作。

通过nvm来控制您的环境,您可以访问最新版本的 Node.js,并保留和管理以前的版本,但它与apt不同,并且您使用它来管理的 Node.js 版本与您使用apt来管理的版本不同。

要在您的 Ubuntu 18.04 机器上安装 NVM,请访问 项目的 GitHub 页面。 复制从主要页面上显示的 README 文件中的 curl 命令以获取安装脚本的最新版本。

在将命令输入到bash之前,它总是是一个好主意来审核脚本,以确保它没有做任何你不同意的事情。

1curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh

查看输出,并确保您对它所做的更改感到满意。一旦您满意,请运行相同的命令,在末尾附带的 bash。您使用的URL将取决于最新版本的NVM,但从现在开始,脚本可以下载和执行,运行以下操作:

1curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

这将安装 nvm 脚本到您的用户帐户. 为了使用它,先源 .bashrc 文件:

1source ~/.bashrc

安装nvm后,您可以安装单独的 Node.js 版本,首先请问nvm提供哪些版本的 Node:

1nvm ls-remote
 1[secondary_label Output]
 2...
 3        v14.18.2   (Latest LTS: Fermium)
 4        v15.0.0
 5        v15.0.1
 6        v15.1.0
 7        v15.2.0
 8        v15.2.1
 9        v15.3.0
10        v15.4.0
11        v15.5.0
12        v15.5.1
13        v15.6.0
14        v15.7.0
15        v15.8.0
16        v15.9.0
17       v15.10.0
18       v15.11.0
19       v15.12.0
20       v15.13.0
21       v15.14.0
22        v16.0.0
23        v16.1.0
24        v16.2.0
25        v16.3.0
26        v16.4.0
27        v16.4.1
28        v16.4.2
29        v16.5.0
30        v16.6.0
31        v16.6.1
32        v16.6.2
33        v16.7.0
34        v16.8.0
35        v16.9.0
36        v16.9.1
37       v16.10.0
38       v16.11.0
39       v16.11.1
40       v16.12.0
41       v16.13.0   (LTS: Gallium)
42       v16.13.1   (Latest LTS: Gallium)
43        v17.0.0
44        v17.0.1
45        v17.1.0
46        v17.2.0
47        v17.3.0

这是一个很长的列表,但您可以通过输入列出的任何发布版本来安装 Node 版本,例如,要获得版本 v16.13.1,请执行以下操作:

1nvm install v16.13.1
1[secondary_label Output]
2Now using node v16.13.1 (npm v8.1.2)

有时nvm会切换到使用最近安装的版本,但您可以说nvm可以使用您刚刚下载的版本(如果不同):

1nvm use v16.13.1

检查当前使用的版本,运行以下操作:

1node -v
1[secondary_label Output]
2v16.13.1

如果您有多个 Node 版本安装,您可以运行ls来获取列表:

1nvm ls
 1[secondary_label Output]
 2->     v16.13.1
 3         system
 4default -> v16.13.1
 5iojs -> N/A (default)
 6unstable -> N/A (default)
 7node -> stable (-> v16.13.1) (default)
 8stable -> 16.13 (-> v16.13.1) (default)
 9lts/* -> lts/gallium (-> v16.13.1)
10lts/argon -> v4.9.1 (-> N/A)
11lts/boron -> v6.17.1 (-> N/A)
12lts/carbon -> v8.17.0 (-> N/A)
13lts/dubnium -> v10.24.1 (-> N/A)
14lts/erbium -> v12.22.8 (-> N/A)
15lts/fermium -> v14.18.2 (-> N/A)
16lts/gallium -> v16.13.1

您还可以默认到以下版本之一:

1nvm alias default 16.13.1
1[secondary_label Output]
2default -> 16.13.1 (-> v16.13.1)

此版本将在新会话启动时自动选择,您还可以用以下命令中的名称引用它:

1nvm use default
1[secondary_label Output]
2Now using node v16.13.1 (npm v8.1.2)

Node 的每个版本都会跟踪自己的包,并且有npm可用来管理这些包。

您还可以将npm安装包放到 Node.js 项目的./node_modules目录中,使用以下语法来安装express模块:

1npm install express
 1[secondary_label Output]
 2added 50 packages, and audited 51 packages in 4s
 3
 42 packages are looking for funding
 5  run `npm fund` for details
 6
 7found 0 vulnerabilities
 8npm notice
 9npm notice New minor version of npm available! 8.1.2 -> 8.3.0
10npm notice Changelog: https://github.com/npm/cli/releases/tag/v8.3.0
11npm notice Run npm install -g [email protected] to update!
12npm notice

如果您想在全球范围内安装该模块,使其可用于使用相同版本的 Node.js 的其他项目,则可以添加-g标志:

1npm install -g express
1[secondary_label Output]
2added 50 packages, and audited 51 packages in 1s
3
42 packages are looking for funding
5  run `npm fund` for details
6
7found 0 vulnerabilities

这将安装该包在:

1~/.nvm/versions/node/16.13.1/lib/node_modules/express

全球安装模块将允许您从命令行运行命令,但您必须将该包链接到您的本地领域,以要求它从程序中执行:

1npm link express

您可以通过运行以下操作来了解nvm可供您使用的选项:

1nvm help

您已使用 Node 版本管理器(nvm)成功安装和管理 Node 的各种版本。

如何删除 Node.js

您可以使用aptnvm去卸载 Node.js,取决于您想要瞄准的版本。要删除默认存储版本,您将使用apt在系统级别上。

1sudo apt remove nodejs

如果您不希望保存配置文件以便以后使用,请运行以下命令来卸载包并删除与其相关的配置文件:

1sudo apt purge nodejs

作为最后一步,您可以删除与删除的包一起自动安装的未使用的任何包:

1sudo apt autoremove

若要卸载您已使用nvm启用的 Node.js 版本,请先确定您想要移除的版本是否是当前活跃的版本:

1nvm current

如果您瞄准的版本不是当前活跃的版本,您可以运行:

1nvm uninstall node_version
1[secondary_label Output]
2Uninstalled node node_version

此命令会卸载选定的 Node.js 版本。

如果您想要删除的版本是当前的活跃版本,您必须先禁用nvm才能启用更改:

1nvm deactivate

现在,您可以使用以前使用的卸载命令卸载当前版本,从而删除与 Node.js 目标版本相关的所有文件,除了可用于重新安装的缓存文件。

结论

您可以在 Ubuntu 18.04 服务器上使用 Node.js 运行几种方法,您的情况将决定哪种方法最适合您的需求,而在 Ubuntu 存储库中使用包装版本是一种方法,使用nvm或 NodeSource PPA 提供了额外的灵活性。

有关 Node.js 编程的更多信息,请参阅我们的教程系列 How To Code in Node.js

Published At
Categories with 技术
comments powered by Disqus