问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

在 Windows 上安装 Node.js

创作时间:
作者:
@小白创作中心

在 Windows 上安装 Node.js

引用
1
来源
1.
https://learn.microsoft.com/zh-cn/windows/dev-environment/javascript/nodejs-on-windows

在 Windows 上安装 Node.js

本指南将帮助你在 Windows 开发环境中安装 Node.js。对于喜欢在 Linux 环境中使用 Node.js 的用户,请参阅在适用于 Linux 的 Windows 子系统上安装 Node.js(WSL2)。在决定在原生 Windows 环境还是在 Linux(WSL 2)环境中安装和使用 Node.js 进行开发时,请考虑以下事项:

  • 技能级别:如果你不熟悉使用 Node.js 进行开发,并希望快速启动并运行,以便你可以学习,在 Windows上安装 Node.js。 在 Windows 上安装和使用 Node.js 将为初学者提供比使用 WSL 更复杂的环境。

  • 命令行客户端工具:如果你更喜欢 PowerShell,请使用 Windows 上的 Node.js。 如果你更喜欢 Bash,请使用 Linux 上的 Node.js (WSL 2)。

  • 生产服务器:如果计划在 Windows Server 上部署 Node.js 应用,请在 Windows 上使用 Node.js。 如果打算在 Linux 服务器上部署,请使用 Linux 上的 Node.js(WSL 2)。 使用 WSL 可以安装首选的 Linux 分发版(默认使用 Ubuntu),确保开发环境(编写代码的位置)与生产环境(部署代码的服务器)之间的一致性。

  • 性能速度和系统调用兼容性:Linux 与 Windows 性能存在持续辩论和开发,但使用 Windows 计算机时的关键是将开发项目文件保留在已安装 Node.js的同一文件系统中。 如果在 Windows 文件系统上安装 Node.js,请将文件保存在 Windows 驱动器上(例如 C:/)。 如果在 Linux 分发版(如 Ubuntu)上安装 Node.js,请将项目文件保留在与所使用的分发关联的 Linux 文件系统目录中。 (输入 WSL 分发命令行中的
    explorer.exe .
    ,以使用 Windows 文件资源管理器浏览目录。

  • Docker 容器:如果要使用 Docker 容器在 Windows 上开发项目,建议在 Windows上安装 Docker Desktop。 若要在 Linux 工作区中使用 Docker,请参阅使用 WSL 2为 Windows 设置 Docker Desktop,以避免同时维护 Linux 和 Windows 生成脚本。

安装 nvm-windows、node.js和 npm

除了选择是安装在 Windows 还是 WSL 上,在安装 Node.js时还有其他选择。 建议使用版本管理器,因为版本更改非常快。 可能需要根据所处理的不同项目的需求在多个 Node.js 版本之间进行切换。 节点版本管理器(通常称为 nvm)是安装多个版本的 Node.js的最常用方法,但仅适用于 Mac/Linux,在 Windows 上不受支持。 相反,我们建议安装 nvm-windows,然后使用它安装 Node.js 和节点包管理器(npm)。 下一节中还会介绍供考虑的替代版本管理器。

重要:建议在安装版本管理器之前,先从操作系统中删除任何现有的 Node.js 或 npm 安装,因为不同类型的安装可能会导致复杂和令人困惑的冲突。 这包括删除可能保留的任何现有 Node.js 安装目录(例如“C:\Program Files\nodejs”)。 NVM 生成的符号链接不会覆盖现有的(甚至为空)安装目录。 有关删除以前安装的帮助,请参阅如何从 Windows中完全删除 node.js。

警告:NVM 设计为按用户安装,并按 shell 调用。 它不适用于具有多个构建代理的共享开发环境或构建服务器。 NVM 使用符号链接工作。 在共享方案中使用 NVM 会产生问题,因为此类链接指向用户的应用数据文件夹,因此如果用户 x 运行
nvm use lts
,则链接会将整个盒的节点指向其应用数据文件夹。 如果用户 y 运行 Node.js 或 npm,他们将被指引到 x 的用户账户下运行文件,而在发生
npm -g
的情况下,他们将修改 x 的文件,这在默认情况下是不被允许的。 因此 nvm 仅适用于单个开发人员盒。 对于生成服务器也是同样的道理。 如果两个构建代理位于同一台虚拟机/服务器上,它们可能会竞争并导致构建过程中的异常行为。

  1. 按照nvm-windows 存储库上的安装说明进行操作。 建议使用安装程序,但如果对需求有更高级的理解,可能需要考虑手动安装。 安装程序会引导你到发布页面,以获取最新版本。

  2. 下载最新版本的nvm-setup.zip文件。

  3. 下载后,打开 zip 文件,然后打开nvm-setup.exe文件。

  4. Setup-NVM-for-Windows 安装向导将引导你完成安装步骤,包括选择将安装 nvm-windows 和 Node.js 的目录。

  1. 安装完成后。 打开 PowerShell(建议使用提升的管理员权限打开),尝试使用 nvm-windows 来列出当前安装的 Node 版本(此时应为无):

nvm ls

  1. 安装当前版本的 Node.js(用于测试最新功能改进,但更有可能遇到比 LTS 版本的问题):

nvm install latest

  1. 要安装 Node.js 的最新稳定 LTS 版本(建议),首先通过

nvm list available

查找当前的 LTS 版本号,然后使用

nvm install

安装 LTS 版本号(将

替换为版本号

nvm install 12.14.0

)。

  1. 列出已安装的 Node 版本:

nvm ls

...现在,应会看到刚刚安装的两个版本。

  1. 安装所需的 Node.js 版本号后,输入

nvm use

(将

替换为数字,即:

nvm use 12.9.0

),选择要使用的版本。

  1. 若要更改要用于项目的 Node.js 版本,请创建新的项目目录

mkdir NodeTest

,然后输入目录

cd NodeTest

,然后输入

nvm use

替换为要使用的版本号(ie v10.16.3')。

  1. 验证安装的 npm 版本:

npm --version

,这个版本号将自动更改为与您当前 Node.js版本相关的 npm 版本。

替代版本管理器

虽然 NVM for Windows(nvm-windows)目前是节点最受欢迎的版本管理器,但有一些可考虑的替代方法:

nvs(Node 版本切换器)是跨平台的

nvm

替代方法,可与 VS Code 集成。

Volta是LinkedIn团队的新版本管理器,声称可以提升速度并支持跨平台。

若要将 Volta 安装为版本管理器,请转到其入门指南Windows 安装部分,然后按照安装说明下载并运行其 Windows 安装程序。

重要:在安装 Volta 之前,必须确保在 Windows 计算机上启用开发人员模式。

若要详细了解如何使用 Volta 在 Windows 上安装多个版本的 Node.js,请参阅Volta Docs。

安装 Visual Studio Code

建议安装 Visual Studio Code,以便在 Windows 上使用 Node.js 进行开发。 有关帮助,请参阅 Visual Studio Code中的Node.js 教程。

替代代码编辑器

如果希望使用 Visual Studio Code 以外的代码编辑器或 IDE,则对于 Node.js 开发环境,以下选项也不错:

安装 Git

如果计划与他人协作,或在开源站点(如 GitHub)上托管项目,VS Code 支持使用 Git版本控制。 VS Code 中的“源代码管理”选项卡跟踪所有更改,并具有内置于 UI 中的常见 Git 命令(添加、提交、推送、拉取)。 首先需要安装 Git 来为源控制面板提供支持。

  1. 从git-scm 网站下载并安装适用于 Windows 的 Git。

  2. 安装程序中包含一个安装向导,它将询问您有关 Git 安装设置的一系列问题。 建议使用所有默认设置,除非有更改某些内容的特定原因。

  3. 如果你以前从未使用过 Git,GitHub Guides可以帮助你入门。

  4. 建议将.gitignore 文件添加到 Node 项目。 下面是GitHub 的默认 gitignore 模板用于 Node.js。

Windows Server 上的 Node.js

如果需要在 Windows 服务器上托管 Node.js 应用程序,最常见的场景似乎是使用反向代理。 可采用两种方式做到这一点:使用 iisnode或直接操作。 我们不维护这些资源,建议使用 Linux 服务器来托管你的 Node.js 应用。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号