如何在Ubuntu18.04上安装Node.js

来自菜鸟教程
跳转至:导航、​搜索

介绍

Node.js 是一个用于通用编程的 JavaScript 平台,允许用户快速构建网络应用程序。 通过在前端和后端利用 JavaScript,Node.js 使开发更加一致和集成。

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

先决条件

本指南假定您使用的是 Ubuntu 18.04。 在开始之前,您应该在系统上设置具有 sudo 权限的非 root 用户帐户。 您可以通过遵循 Ubuntu 18.04 初始服务器设置教程来了解如何执行此操作。

如果您想在不使用服务器或本地计算机的情况下尝试安装 Node.js,您可以在浏览器中使用交互式终端。 单击下面的启动交互式终端!按钮开始使用。

启动交互式终端!

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

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

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

sudo apt update

现在安装 Node.js:

sudo apt install nodejs

通过查询 node 的版本号来验证您是否已成功安装 Node.js:

node -v
Outputv8.10.0

如果存储库中的包满足您的需求,那么您只需执行此操作即可使用 Node.js。 在大多数情况下,您还需要安装 Node.js 包管理器 npm。 您可以使用 apt 安装 npm 包:

sudo apt install npm

这将允许您安装模块和包以与 Node.js 一起使用。

您现在已经使用 apt 和默认的 Ubuntu 软件存储库成功安装了 Node.js 和 npm。 但是,您可能更喜欢使用不同版本的 Node.js、包存档或版本管理器。 接下来的步骤将讨论这些元素,以及更灵活、更可靠的安装方法。

使用 NodeSource PPA 使用 Apt 安装 Node.js

要安装更新版本的 Node.js,您可以添加由 NodeSource 维护的 PPA(个人包存档)。 这将拥有比官方 Ubuntu 存储库更多的 Node.js 版本,并允许您在平台的多个可用版本之间进行选择。

首先,安装 PPA 以访问其内容。 在您的主目录中,使用 curl 检索您的首选版本的安装脚本,确保将 17.x 替换为您的首选版本字符串(如果不同):

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

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

如果您愿意,可以使用 nano(或您喜欢的文本编辑器)检查此脚本的内容:

nano /tmp/nodesource_setup.sh

一旦您对脚本可以安全运行感到满意,请退出文本编辑器。 如果您使用了 nano,可以按 CTRL + X 退出。 接下来,使用 sudo 运行脚本:

sudo bash /tmp/nodesource_setup.sh

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

sudo apt install nodejs

通过运行带有 -v 标志的 node 来验证您是否已安装新版本:

node -v
Outputv17.3.0

与默认的 Ubuntu 软件包存储库中的不同,此 nodejs 软件包包含 nodenpm,因此您无需单独安装 npm

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

npm -v
Output8.3.0

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

sudo apt install build-essential

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

在本节中,您使用 apt 和 NodeSource PPA 成功安装了 Node.js 和 npm。 接下来,您将使用 Node Version Manager 安装和管理 Node.js 的多个版本。

使用节点版本管理器安装节点

安装 Node.js 的另一种方法是使用名为 nvm 的工具,即节点版本管理器 (NVM)。 nvm 不是在操作系统级别工作,而是在主目录中的独立目录级别工作。 这意味着您可以安装多个独立版本的 Node.js,而不会影响整个系统。

使用 nvm 控制您的环境允许您访问最新版本的 Node.js 并保留和管理以前的版本。 但是,它与 apt 是不同的实用程序,并且您使用它管理的 Node.js 版本与您使用 apt 管理的版本不同。

要在您的 Ubuntu 18.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.js 版本。 首先,询问 nvm 有哪些 Node 版本可用:

nvm ls-remote
Output...
        v14.18.2   (Latest LTS: Fermium)
        v15.0.0
        v15.0.1
        v15.1.0
        v15.2.0
        v15.2.1
        v15.3.0
        v15.4.0
        v15.5.0
        v15.5.1
        v15.6.0
        v15.7.0
        v15.8.0
        v15.9.0
       v15.10.0
       v15.11.0
       v15.12.0
       v15.13.0
       v15.14.0
        v16.0.0
        v16.1.0
        v16.2.0
        v16.3.0
        v16.4.0
        v16.4.1
        v16.4.2
        v16.5.0
        v16.6.0
        v16.6.1
        v16.6.2
        v16.7.0
        v16.8.0
        v16.9.0
        v16.9.1
       v16.10.0
       v16.11.0
       v16.11.1
       v16.12.0
       v16.13.0   (LTS: Gallium)
       v16.13.1   (Latest LTS: Gallium)
        v17.0.0
        v17.0.1
        v17.1.0
        v17.2.0
        v17.3.0

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

nvm install v16.13.1
OutputNow using node v16.13.1 (npm v8.1.2)

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

nvm use v16.13.1

通过运行以下命令检查当前使用的版本:

node -v
Outputv16.13.1

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

nvm ls
Output->     v16.13.1
         system
default -> v16.13.1
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v16.13.1) (default)
stable -> 16.13 (-> v16.13.1) (default)
lts/* -> lts/gallium (-> v16.13.1)
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.8 (-> N/A)
lts/fermium -> v14.18.2 (-> N/A)
lts/gallium -> v16.13.1

您也可以默认使用以下版本之一:

nvm alias default 16.13.1
Outputdefault -> 16.13.1 (-> v16.13.1)

此版本将在新会话产生时自动选择。 您还可以通过别名引用它,如下面的命令:

nvm use default
OutputNow using node v16.13.1 (npm v8.1.2)

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

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

npm install express
Outputadded 50 packages, and audited 51 packages in 4s

2 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
npm notice
npm notice New minor version of npm available! 8.1.2 -> 8.3.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v8.3.0
npm notice Run npm install -g npm@8.3.0 to update!
npm notice

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

npm install -g express
Outputadded 50 packages, and audited 51 packages in 1s

2 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

这会将软件包安装在:

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

全局安装模块将允许您从命令行运行命令,但您必须将包链接到本地球体才能在程序中使用它:

npm link express

您可以通过运行以下命令了解有关 nvm 可用选项的更多信息:

nvm help

您已经使用 Node 版本管理器 nvm 成功安装了 Node,以安装和管理各种版本的 Node。

删除 Node.js

您可以使用 aptnvm 卸载 Node.js,具体取决于您要定位的版本。 要删除默认存储库版本,您将在系统级别使用 apt。 此命令删除包并保留配置文件。 如果您计划将来再次安装该软件包,这将非常有用:

sudo apt remove nodejs

如果您不想保存配置文件以备后用,请运行以下命令卸载软件包并删除与其关联的配置文件:

sudo apt purge nodejs

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

sudo apt autoremove

要卸载您使用 nvm 启用的 Node.js 版本,首先确定您要删除的版本是否是当前活动版本:

nvm current

如果您的目标版本是 而不是 当前的活动版本,您可以运行:

nvm uninstall node_version
OutputUninstalled node node_version

此命令将卸载所选版本的 Node.js。

如果您要删除的版本是当前活动版本,您必须先停用 nvm 以启用您的更改:

nvm deactivate

现在您可以使用之前使用的 uninstall 命令卸载当前版本。 这将删除与 Node.js 的目标版本关联的所有文件,但可用于重新安装的缓存文件除外。

结论

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

有关使用 Node.js 编程的更多信息,请参阅我们的教程系列 如何在 Node.js 中编码