在本教程中,我将向您简要介绍 Node.js,并向您说明如何安装完成 Node.js 学习路径所需的软件。
Node.js 学习路径
本教程是 Node.js 学习路径的一部分。这些单元彼此互为基础,查看Node.js 学习路径的概述从头开始。
首先,您需要安装 Node.js 运行时本身以及 Node 的包管理器 npm。然后,您需要安装一个编辑器,在您完成学习路径 的各个单元时可在其该编辑器中编写源代码。您可以使用任何自己喜欢的编辑器,但我建议您使用 VSCode(我稍后会在本单元中说明原因)。它是免费的、开源的、提供大量的插件,且建立在 Node 之上。
前提条件
您需要为自己的平台安装 git 客户端。下面是针对 Windows、MacOS 和 Linux 的安装说明链接。
单击此链接,向下滚动至与您的平台匹配的部分,然后遵循说明进行操作。
安装 Node.js 和 npm
有多种方法可以安装 Node.js。最简单的方法是直接从 Nodejs.org 网站的下载页面 下载适用于您平台的程序包,然后运行安装程序。如果您是 Windows 用户,这绝对是可行的方法,但这种方法也适用于 MacOS 和 Linux。
如果您是 Mac 用户,更好的方法是使用 Homebrew。Homebrew 称自己是 "MacOS 的缺失程序包管理器"。您可以使用它来安装和管理数百种不同的 MacOS 程序包。
最佳 的安装 Node.js 和 npm 的方法是通过 Node.js Version Manager 或 nvm。通过使用 nvm,您可以安装 Node.js 运行时和 npm 的多个版本且这些版本可以共存,但您一次只能指定一个活动版本。我的意思是,您不必卸载 Node.js 或 npm 的一个版本而来安装另一个版本,只需告知 nvm 您要使用哪个版本即可。它非常适用于兼容性测试和管理 Node.js 环境。
我在下表中总结了每种方法的优缺点:
安装类型 | 优点 | 缺点 |
---|---|---|
直接从 nodejs.org 下载 | 简单,大多数平台都支持 | 手动校验和验证 |
Homebrew | 简单,自动校验和验证,可以在多个版本之间切换** | 仅限 MacOS |
nvm | 简单,自动校验和验证,可以在多个版本之间轻松切换 | 仅限 MacOS 和 Linux(针对其他平台的社区贡献可用) |
** 通过跳过一些 hoop,稍后我将在本教程中向您说明。
Homebrew 和 nvm 提供自动检验和验证(这很好),但是官方受支持的平台有限。我将在后面的章节中详细描述每种方法,以便您可以选择适合您的方法。
使用哪个 Node.js 版本
在"下载"页面上,您必须在 LTS(长期支持)或当前版本之间进行选择。这是什么意思呢?
开源软件的频繁发布周期是一把双刃剑。一方面,发布了新功能,并及时解决了 bug。但另一方面,您必须处理因频繁发布周期导致的升级问题。对于业务应用程序来说,每年必须多次升级底层运行时,可能会非常不稳定。
SemVer
Node.js 发行版使用 SemVer 发行编号(即,MAJOR.MINOR.PATCH 编号,例如 2.1.0 或 10.4.0)。阅读有关 SemVer 的更多信息。
要解决此问题,Node.js 发布团队将偶数编号的主要发行版指定为 LTS 发行版。LTS 发行版从最初发行之日起最多受支持三年,在此期间发行版本从 Current(当前版本)(约 6 个月)到 Active LTS(18 个月,仅次要修订)再到 Maintenance LTS(12 个月,仅补丁发行版)。但这意味着您可以确保 LTS 发行版在相当长的一段时间内将保持稳定。
如果您要了解有关 Node.js 发行过程的更多信息,查看发行页面。该页面包含许多重要信息,包括发行时间表、发行任务和 LTS 发行版(以及其中内容)的方法论 。
对于本学习路径,我使用的是 V10 版本,(在撰写本文时)也是最新的 LTS 版本。您可能希望执行相同的操作,以确保可以跟上进度。
检验和
对您执行的任何开源下载执行快速校验和检查始终是个好主意,包括本单元中的任何或所有下载。不相信?请查看 ServerFault 上的这篇帖子(StackExchange 站点之一)。
我使用的是 Mac,因此我将向您展示如何在下载 MacOS 时执行校验和验证。如果您运行的是其他平台,那么 Web 上有大量资源可用于了解如何执行校验和验证。
首先,您需要从下载文件的网站中获得校验和。它通常看起来如下:
此示例来自 nodejs.org 网站的 node-v10.4.0.pkg 文件。复制校验和(上面文件名左侧的长字符串)并将其粘贴到编辑器中(为此,我将 TextEdit 保留在 Dock 中)。
现在,打开一个终端窗口并浏览至下载目录(或下载文件的任何位置),并在下载的文件上运行 shasum 命令:
在编辑器中将字符串粘贴到网站校验和正下方并进行比较:
养成为下载的每个文件执行此校验和验证的习惯。为了节省空间,我不会在本教程的剩余部分中讲述这些下载的详细信息,但请相信我,我对每个文件都进行了校验和验证。
现在,讲述安装!
不错的方法:从 nodejs.org 网站中下载安装包
转至下载页面,然后单击与您的平台匹配的安装程序。
正如我在上一节中所述,我在本学习路径中使用 V10 版本,这将反映在本节的所有说明中,包括视频。我建议您使用 V10.4.0(或者时下最新的 10.x.y 发行版),当您读到此(或非常接近)时,几乎可以肯定是 LTS 发行版。
将安装程序下载到计算机并验证了校验和匹配后,启动安装程序。例如,在我的 Mac 上,双击 Package 安装程序(名为 node-v10.4.0.pkg)来运行软件包安装程序。我将在视频中展示如何执行该操作。如果您运行的是 Windows,请双击安装程序并遵循安装向导中的步骤进行安装。
对于 Linux,将 tarball 解压缩到标准位置,例如 /usr/local/lib/nodejs
,确保 Node.js bin 目录的路径与您的 PATH
环境变量匹配。有关更详细的指示信息,点击此链接参阅 Node.js 的 GitHub Wiki
。
现在跳至 验证安装 部分以确认 Node.js 和 npm 已正确安装。
以后当您想要升级 Node.js 版本时,请下载新安装程序,它将替换当前版本。
使用此安装方法,您一次只安装一个版本的 Node.js 和 npm。如果您要安装多个版本并在它们之间来回切换(比如为了兼容性测试),我建议您使用 nvm(请参阅"最佳的方法:使用 nvm" 以获取详细信息")。
更好的方法:使用 Homebrew(仅限 MacOS)
Homebrew 是在 Mac 上管理各种软件包的更好方法。每当我需要安装一个熟悉的 Linux 软件包时,我会在尝试以另一种方式安装软件包之前先检查它是否可使用 Homebrew "妙方"(使用 nvm 来管理 Node.js 之类极少数例外情况,我将在下一节中向您说明)。
要了解 Homebrew 以及如何进行安装的更多信息,查看安装页面。
要通过 Homebrew 安装 Node.js 和 npm 的当前版本,请在 Mac 上打开终端窗口并输入以下命令:
brew install node
但是,我强烈建议您在实践中安装 Node.js 的特定主版本,因为它会强制您了解正在安装的准确版本。如果您安装的特定主版本恰好是当前版本,那么 Homebrew
将自动为您链接(即,将在 Homebrew Cellar 中当前版本的 PATH
中创建指向 node
和 npm
的符号链接)。另外,您可以通过使用 brew unlink
命令取消链接一个版本并使用 brew
link
命令链接另一个版本来切换已安装的版本(但您应该谨慎使用此功能,稍后我将在本节中向您说明)。
要安装最新的 Node.js V10,输入 brew install node@10
命令。您将看到类似以下的输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
现在跳至 验证安装 部分以确认 Node.js 和 npm 已正确安装。
注意:当您使用上面展示的命令时,homebrew 将始终安装 Node.js 的当前版本。如果要安装特定的 Node.js 主版本,请指定主版本号,如:
brew install node@8
您将看到类似以下的输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
这将安装 Node.js 8 的最新版本,这仅意味着最新的 minor.patch 发行版。注意:如果您安装的版本不是 Node.js 的当前版本(即使它是 Active LTS),那么这将是"仅 keg "安装。请参阅 Homebrew FAQ 中的 "What does keg-only mean? (仅 keg 是什么意思? )"以获取更多信息。
继续,升级 Node.js 用法:
brew upgrade node
如果存在可用升级,那么会自动为您应用。
在多个版本之间切换
Homebrew 允许您一次安装多个主版本的 Node.js 和 npm,但只有一个可能处于活动状态。如果要在它们之间切换,那么必须"取消链接"活动链接的版本,并"链接"您要使用的版本。
在我的 Mac 上,这意味着我不得不费很多事(涉及 --force
和 --overwrite
)以从 V10 切换至
V8,不止一次我不小心把我的系统搞得一团糟(如,-bash: /usr/local/bin/npm: No such file or directory
)。例如,我必须在此处从
Node.js 10 切换到 Node.js 8,然后切换回 Node.js 10:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
哎呀,多么痛苦!但是,正如你所看到的,我让它起效了。但我最终不得不重新安装 Node.js 10,因为来自 Node.js 8 的 unlink
导致存在错误。也许我做错了什么。也许
Homebrew 不喜欢我。也许昨晚是满月。谁知道呢?
如果您真的需要在 Node.js 和 npm 版本之间轻松切换,我强烈建议您使用 nvm。此外,如果您希望安装多个 major.minor.patch 版本并在它们之间来回切换(为了兼容性测试),您必须使用 nvm,因为 Homebrew 只支持安装最新的 major.minor.patch 发行版。
校验和验证怎么样?Homebrew 会自动为您执行校验和验证,这是与直接包安装相比选择使用 Homebrew 的另一个原因。
最佳的方法:使用 nvm(仅限 MacOS 和 Linux)
对 Windows 用户说声抱歉。NVM 官方仅在 MacOS 和 Linux 上受支持,但有两个备选项(NVM 团队都没有正式支持,但我从 NVM GitHub 站点获得了这些链接,眨眼眨眼 ):
nvm-windows:https://github.com/coreybutler/nvm-windows
nodist:https://github.com/marcelklehr/nodist
其他不受支持的平台也列示在重要说明下。
安装 nvm 非常容易。转至 creationix GitHub 存储库,然后向下滚动至安装部分(或单击此链接。复制安装命令并将其粘贴到终端窗口或命令提示符中:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh |
bash
下载和安装只需要几秒钟(在我的 Mac 上不到 10 秒)。
安装脚本会对 .bash_profile
(MacOS) 或 .profile
(Linux)
进行更改,因此当脚本完成后,您必须使用自己喜欢的方法重新运行概要文件脚本。我比较懒,所以我会停止终端窗口并打开一个新窗口。
通过运行 nvm --version
命令来验证 nvm 是否安装正确。您会看到类似如下的输出:
1 2 |
|
运行 nvm install --lts
命令安装 Node.js 和 npm,该命令将告知 nvm 安装 LTS 版本(在撰写本文时是 Node.js 8.11.2 和 npm
5.6.0):
1 2 3 4 5 6 7 8 |
|
现在使用下一节中的说明来验证安装。
使用 nvm 在多个版本之间切换
您可以安装 Node.js 和 npm 的多个版本(包括已发布的任何 major.minor.patch 组合)并在它们之间来回切换。这对兼容性测试很有用。假设您要安装 Node.js 10(在撰写本文时是 10.4.0):
1 2 3 4 5 6 7 8 9 10 11 |
|
然后切换回 Node.js 8(我假设您一直在跟进本教程,并且使用的版本是 10):
1 2 3 4 5 6 |
|
看看!我可以使用简单的命令在 PATH 上交换 Node 运行时,很酷吧。
注意,npm 的版本也会升级以匹配您下载的 Node 版本。除非您另有说明,否则 Node.js 和 npm 都是一揽子交易(这通常是一件好事)。
要查看所有可用选项,只需键入 nvm 并显示以下帮助屏幕: