介绍
Node.js是一个用于通用编程的JavaScript平台,允许用户快速构建网络应用程序。通过在前端和后端都利用JavaScript,Node.js使开发更加一致和集成。
在本指南中,您将了解在Ubuntu 18.04服务器上安装Node.js的三种不同方法。
先决条件
本指南假设您正在使用Ubuntu 18.04。在开始之前,您应该在系统上设置一个具有sudo
权限的非root用户帐户。您可以通过按照Ubuntu 18.04的初始服务器设置教程来学习如何做到这一点。
使用Apt从默认存储库安装Node.js
Ubuntu 18.04 包含一个 Node.js 的版本,该版本位于默认仓库中,可用于在多个系统上提供一致的体验。目前仓库中的版本是 8.10.0。虽然这不是最新版本,但应该是稳定的,足以进行语言的快速实验。
要获取此版本,您可以使用 apt
包管理器。刷新您的本地软件包索引:
现在安装 Node.js:
通过查询 node
的版本号来验证是否成功安装了 Node.js:
Outputv8.10.0
如果仓库中的软件包符合您的需求,这就是您设置 Node.js 所需的全部步骤。在大多数情况下,您还需要安装 npm
,即 Node.js 包管理器。您可以使用 apt
安装 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
:
您可以参考NodeSource文档以获取关于当前可用版本的更多信息。
如果愿意,您可以使用nano
(或您首选的文本编辑器)检查此脚本的内容:
一旦您确信脚本是安全的,退出文本编辑器。如果您使用的是nano
,您可以通过按下CTRL + X
退出。接下来,使用sudo
运行脚本:
PPA将被添加到您的配置中,并且您的本地软件包缓存将自动更新。现在您可以像在上一节中那样安装Node.js软件包:
通过使用-v
标志运行node
来验证您是否已安装了新版本:
Outputv17.3.0
与默认的Ubuntu软件包存储库中的不同,这个nodejs
软件包包含了node
和npm
,因此您不需要单独安装npm
。
npm
使用位于您的主目录中的配置文件来跟踪更新。第一次运行 npm
时,将创建该文件。运行以下命令来验证是否安装了 npm
并创建配置文件:
Output8.3.0
为了使一些 npm
包正常工作(例如需要从源代码编译的包),您需要安装 build-essential
包:
现在您已经拥有了处理需要从源代码编译的 npm
包所需的工具。
在本节中,您成功使用 apt
和 NodeSource PPA 安装了 Node.js 和 npm
。接下来,您将使用 Node Version Manager 来安装和管理多个版本的 Node.js。
使用 Node Version Manager 安装 Node
安装 Node.js 的另一种方法是使用一个称为 nvm
的工具,即 Node Version Manager(NVM)。与在操作系统级别工作不同,nvm
在您的主目录中的一个独立目录级别工作。这意味着您可以安装多个独立的 Node.js 版本,而不会影响整个系统。
使用nvm
控制您的环境允许您访问最新版本的Node.js,并保留和管理先前的版本。但它与apt
是不同的实用工具,您使用它管理的Node.js版本与您使用apt
管理的版本是不同的。
要在您的Ubuntu 18.04机器上安装NVM,请访问项目的GitHub页面。从主页上显示的README文件中复制curl
命令以获取安装脚本的最新版本。
在将命令传递到bash
之前,始终审查脚本以确保它不执行任何您不同意的操作。您可以通过删除curl
命令末尾的| bash
部分来执行此操作:
审查输出并确保您对其所做的更改感到满意。一旦满意,使用| bash
附加在末尾的相同命令运行。您使用的URL将取决于NVM的最新版本,但就目前而言,可以通过运行以下内容下载并执行脚本:
这将在您的用户帐户中安装nvm
脚本。为了使用它,首先要引用.bashrc
文件:
安装了nvm
后,您可以安装隔离的Node.js版本。首先,询问nvm
有哪些Node版本可用:
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,请运行以下内容:
OutputNow using node v16.13.1 (npm v8.1.2)
有时候 nvm
会切换到使用最近安装的版本。但是你可以告诉 nvm
使用你刚刚下载的版本(如果不同):
通过运行以下命令检查当前正在使用的版本:
Outputv16.13.1
如果安装了多个 Node 版本,可以运行 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
你也可以将默认版本设置为其中之一:
Outputdefault -> 16.13.1 (-> v16.13.1)
当新会话生成时,将自动选择此版本。你也可以通过别名引用它,就像以下命令中那样:
OutputNow using node v16.13.1 (npm v8.1.2)
每个 Node 版本都会跟踪其自己的包,并且可以使用 npm
来管理这些包:
你还可以让 npm
将包安装到 Node.js 项目的 ./node_modules
目录中。使用以下语法安装 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 [email protected] to update!
npm notice
如果想要全局安装该模块,使其可供使用相同版本的 Node.js 的其他项目使用,可以添加 -g
标志:
Outputadded 50 packages, and audited 51 packages in 1s
2 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
这将在以下位置安装该包:
全局安装该模块将允许你从命令行运行命令,但是你需要将该包链接到你的本地环境中,以便在程序中引用它:
你可以通过运行以下命令了解 nvm
提供给你的选项:
通过使用 Node 版本管理器 nvm
安装和管理各种 Node 版本,你已经成功安装了 Node。
移除 Node.js
您可以使用 apt
或 nvm
来卸载 Node.js,具体取决于您想要定位的版本。要移除默认存储库版本,您将在系统级别使用 apt
。此命令会移除该软件包并保留配置文件。如果您计划将来重新安装该软件包,则此选项很有用:
如果您不想将配置文件保存供以后使用,则运行以下命令以卸载软件包并移除与之相关联的配置文件:
sudo apt purge nodejs
作为最后一步,您可以移除与已移除软件包一起自动安装的任何未使用的软件包:
要卸载使用 nvm
启用的 Node.js 版本,首先确定您要移除的版本是否是当前活动版本:
如果您要定位的版本 不是 当前活动版本,则可以运行:
OutputUninstalled node node_version
此命令将卸载所选版本的 Node.js。
如果您要移除的版本是当前活动版本,则必须先停用 nvm
以启用您的更改:
现在您可以使用先前使用的 uninstall
命令卸载当前版本。这会移除与目标 Node.js 版本相关的所有文件,但不会移除可用于重新安装的缓存文件。
结论
在 Ubuntu 18.04 服务器上启动和运行 Node.js 有很多种方式。您的具体情况将决定哪种方法最适合您的需求。虽然使用 Ubuntu 软件仓库中的打包版本是一种方法,但使用 nvm
或 NodeSource PPA 提供了额外的灵活性。
有关使用 Node.js 编程的更多信息,请参阅我们的教程系列 如何在 Node.js 中编码。
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-18-04