如何在 Windows 10 中搭建 Node.js 环境

2024-11-15 08:53:50
推荐回答(1个)
回答(1):

准备工作
在 Windows 中用 Node.js 进行开发一度是非常麻烦的事,但是现在这一状况相较于一两年前有了较大改善。这也是为什么,在选择 Windows 7 还是 Windows 10 作为本文主题之时,我们犹豫不决的原因。
尽管 Windows 7 仍旧非常流行,而且 Windows 10 有一些不好的风闻(由于评价标准及数据收集范围的不同),我们还是决定选择 Windows 10 为试验对象,因为确保最新的操作系统对保证应用安全至关重要。
在本文中,我们将尽可能使用最新的工具与应用(并使用其64位版本)。笔者知道在公司环境中这可能无法保证,但保持工具的前卫是很重要的。
本文所有的安装都会在本机中进行。我不建议在 Cygwin 中搭建 Node 环境。此外,尽管 VirtualBox 是免费的,当我在 Windows 机器上运行 Linux 虚拟机时,却总是问题不断。
步骤1:安装 Git
首先,安装 Git。使用默认设置,这些设置是相当合理的。
笔者通常会在主目录下创建一个项目文件夹。设置时,右键单击该文件夹,选择 “Git bash here”,再通过 git --version 指令检查 git 版本。
这是很好的 bash 环境,你可以创建一个 .bash_profile ,在你打开 bash 窗口时执行。此外,这不是 cmd.exe 窗口,你可以查看一些选项(单击左上角的图标)。你可以通过鼠标中键将文本拷贝至窗口(就像在创建的 Linux 终端一样)。
步骤2:在 Windows 10 上安装 Node.js
下载并 安装 Node.js 。使用其 LTS(长期支持)版本。
笔者不建议并排安装多个版本,因为 Node 版本管理器并未正式支持 Windows ——不过,你仍有一些备选方案,比如 nvm-windows 或 nodist 。其实,即便是在其他系统中,全局安装不同版本的 node 工具仍然像是在自找麻烦。
步骤3:更新 npm
npm 伴随着 Node 而来。成功安装 Node.js 之后,包管理器 npm 也应当可用了。
打开一个 bash shell,通过 npm --version 检查版本号。如果 npm 是 2.x 版本,则应该升级到版本3,这能解决许多问题(对我们而言,最重要的是其处理对等依赖的方式)。在开始菜单中搜索 Power Shell,以管理员身份运行,并遵循 以下步骤 。

步骤4:安装Visual Studio 与Python
Node 包通常会依赖带有本地代码的包,因此你必须安装 Visual Studio。
Node-gpy 是围绕 Python GYP (Generate Your Projects)的一款包装程序,该工具能为 Gcc, XCode 以及 Visual Studio 生成项目文件。由于 Windows 开发实际上是通过 Visual Studio 进行的,我们会用其支持 Visual Studio。
安装 Python(2.x 版本)
如你所见,你会用到 Python,因此 下载其64位的 2.x 版本 并安装之。你可以遵循默认设置,并选择 “Add to path (添加至路径)”选项。这会将 Python 二进制添加到全局路径,意味着最终你要先登出再登陆。
下一步,进入环境变量设置(在系统,高级设置中),并将GYP_MSVS_VERSION=2015 添加到全局变量中,因为下一步是 Visual Studio 2015 的安装。

安装 Visual Studio (VS2015)
不同于2012之前的版本,VS2015 能与64位的 Node.js 和谐工作。很快,我们将学习 Node-gyp 针对 Windows 10 的教程 。
除非你的机器上已经安装了完整的 VS,请下载 Visual Studio 2015 社区版 ,选择自定义安装并选定完全的 Visual C++ 分支(不带 XP 支持),此外,在工具中选择Windows SDKs。如果在安装过程中出现任何差错,你可以点击程序与特性(Programs and Features),选择 VS2015,进行更改与修正。
在 gyp 的安装手册中还提到了 Windows 7 SDKs,但是我们在前面已经安装了 Win 8 SDKs,所以希望不会用到 Win 7 SDKs。
步骤5:安装包依赖
目前,笔者正在开发 Trace 中的告警微服务,所以我会通过 npm -i 指令安装所需的包依赖。得到的结果如下图所示:

Fsevents 是可选依赖,且只能用于 OSX 系统;这只是一个警告——其余模块并无问题。
该微服务用到了 Postgres 与RabbitMQ,因此笔者也安装了二者(连同 Erlang)。此处,与 OSX brew(与 apt、Chocolatey 相似的一款包管理器)以及 rocket(一款服务管理器)配置相比,唯一的不同是我必须 手动在 15672 端口启用 web 管理员 。
在数据库端,笔者添加了默认用户,并创建了一个数据库。不过,这些都可以在 PgAdmin 客户端轻松完成。
步骤6:处理环境变量
通常,Node.js 项目都高度依赖环境变量。