本页提供了在 Microsoft Windows 环境中设置 Node-RED 的具体说明。这些说明针对 Windows 10,也可能适用于 Windows 7 和 Windows Server 2008R2 及更高版本,但由于缺乏当前支持,不建议使用这些旧版本。
注意:以下说明中提到的"命令提示符"指的是 Windows cmd 或 PowerShell 终端 shell。建议在所有新版本的 Windows 上使用 PowerShell,这样可以访问更接近 Linux/Mac 的命令和文件夹名称。
快速开始
安装 Node.js
- 从官方 Node.js 主页下载最新的 LTS 版本。它会为您提供适合您系统的最佳版本。
- 运行下载的 MSI 文件。安装 Node.js 需要本地管理员权限;如果您不是本地管理员,安装时会提示输入管理员密码。安装时接受默认设置。
- 安装完成后,关闭所有打开的命令提示符并重新打开,以确保获取新的环境变量。
- 安装后,打开命令提示符并运行以下命令以确保 Node.js 和 npm 已正确安装:
- 使用 PowerShell:
node --version; npm --version
- 使用 cmd:
node --version && npm --version
- 您应该看到类似以下的输出:
v18.15.0
9.5.0
安装 Node-RED
运行 Node-RED
Windows 上的替代安装方法
本节为您提供在 Windows 上安装 Node.js、npm 以及安装某些 Node-RED 节点所需的 Windows 构建工具的替代方法信息。
注意:除非特别说明,否则不应使用管理员(即"提升的")命令提示符。在学习 Node-RED 和 Node.js 时,您很可能需要非常熟悉命令提示符,值得阅读一些 Microsoft 关于 PowerShell 的文章。PowerShell 教程和 PowerShell One-Liners 网站也可能有所帮助。
Windows 上 Node.js 的标准安装需要本地管理员权限。从官方 Node.js 主页下载适当版本。它会提供最佳版本。虽然您可以在 64 位 Windows 上使用 32 位或 64 位版本,但建议使用 Node 的 64 位版本。如果由于某种原因需要不同的安装,可以使用下载页面。
除了使用 MSI 安装程序安装 Node.js 外,还有两种可能有用的替代方法:
使用 Chocolatey 包管理器
Chocolatey 是 Windows 的包管理器,类似于 Linux 上的 APT 或 yum 以及 Macintosh 平台上的 brew。如果您已经在使用 Chocolatey,您可能希望使用此工具安装 Node.js(例如使用 nodejs-lts 包)。但请注意,许多包的管理不确定,这些包可能使用与上述不同的文件夹位置。
使用 Node 版本管理器
如果您正在进行 Node.js 开发并需要针对不同版本进行测试,使用诸如 nvm-windows 之类的 Node.js 版本管理器会非常有帮助。请注意,当切换使用的 Node 版本时,您需要重新安装全局包,并且可能需要重新安装本地包。
注意:Microsoft 维护了一个使用 Microsoft Chakra Core JavaScript 引擎而不是 V8 的 Node 并行版本。这不推荐用于 Node-RED,因为它未经测试。
Windows 上的 npm
安装 Node.js 时,您也安装了 npm 包管理器。您可能会在网上看到一些说明,建议安装比 Node.js 发行版附带的版本更新的 npm 版本。这不推荐,因为以后很容易出现不兼容的版本。Node.js 发行非常规律,这足以保持 npm 更新。
在用户之间共享 Node-RED
Node.js 按预期安装在 Program Files 文件夹中。但是,如果您使用 npm -g 安装像 Node-RED 这样的全局包,它会安装到当前用户的 $env:APPDATA\npm 文件夹(使用 cmd 时为 %APPDATA%\npm)。如果您的 PC 有多个用户登录,或者在服务器上使用管理员登录而不是运行 Node 应用程序(如 Node-RED)的用户的登录来安装,这会很不方便。
注意:要查看像 %APPDATA% 这样的文件夹名称转换为什么,您可以简单地将其键入 Windows 文件资源管理器的地址栏中。或者,在 PowerShell 中,键入命令 cd $Env:APPDATA(使用 cmd 时为 cd %APPDATA%)。
要解决此问题,要么授予其他用户对该文件夹的权限,并确保该文件夹包含在他们的路径用户环境变量中。
或者,将全局文件位置更改为其他用户可以访问的位置。确保使用将运行 Node-RED 的用户进行这些更改。例如,要使用 PowerShell 将位置更改为 $env:ALLUSERSPROFILE\npmglobal:
mkdir $env:ALLUSERSPROFILE\npmglobal
npm config set prefix $env:ALLUSERSPROFILE\npmglobal
然后您还需要更改 npm 缓存文件夹:
mkdir $env:ALLUSERSPROFILE\npmglobal-cache
npm config set cache $env:ALLUSERSPROFILE\npmglobal-cache --global
如果使用上述更改,您可以将新的前缀文件夹添加到 PATH 系统变量中,并从用户的 Path 变量中删除旧文件夹。要更改 PATH 环境变量,请在开始菜单或 Cortana 中键入 environment 并选择"编辑环境变量"。
对于每个运行 Node-RED 的用户,检查上述设置是否正确。
安装 Node.js Windows 构建工具
Node-RED 或已安装节点使用的许多 Node.js 模块具有二进制组件,需要在 Windows 上编译才能工作。要使 npm 能够在 Windows 平台上编译二进制文件,请以管理员身份在命令提示符下安装 windows-build-tools 模块:
npm install --global --production windows-build-tools
如果您希望公开内置的 Python v2.7 安装以供使用,请使用命令:
npm install --global --production --add-python-to-path windows-build-tools
注意:
- 并非所有 Node.js 模块都能在 Windows 下工作,请仔细检查安装输出中的任何错误。
- 安装期间,
node-gyp 命令可能会报告一些错误。这些通常是非致命错误,并且与需要编译器才能构建的可选依赖项有关。没有这些可选依赖项,Node-RED 仍然可以工作。如果您遇到致命错误,请首先检查您是否安装了 windows-build-tools 模块,以及是否已关闭并重新打开命令提示符窗口。
在 Windows 上运行
安装后,运行 Node-RED 的简单方法是在命令提示符中使用 node-red 命令:如果您已将 Node-RED 安装为全局 npm 包,则可以使用 Node-RED 命令:
C:>node-red
这将把 Node-RED 日志输出到终端。您必须保持终端打开以保持 Node-RED 运行。
请注意,运行 Node-RED 将在您的 %HOMEPATH% 文件夹中创建一个名为 .node-red 的新文件夹。这是您的 userDir 文件夹,可以将其视为当前用户的 Node-RED 配置的主文件夹。在文档中,您经常会看到它被称为 ~/.node-red。~ 是类 Unix 系统上用户主文件夹的简写。如果按照推荐使用 PowerShell 作为命令行,您可以使用相同的引用。如果您使用较旧的 cmd shell,则无法使用。
您现在可以创建您的第一个流。
使用 PM2
如果您使用 Windows 开发 Node-RED 流或节点,可能会发现使用 PM2 运行 Node-RED 很有帮助。这可以配置为在文件更改时自动重启、始终保持 Node-RED 运行并管理日志输出。
开机启动运行 Node-RED
如果您想将 Windows 用作 Node-RED 的生产平台,您需要设置一个 Windows 任务计划程序作业。操作步骤如下:
- 转到开始菜单,键入"task scheduler"并单击结果。
- 在右侧菜单中单击"创建任务…"。按照步骤创建新任务。
- 确保使用您用于设置和初始运行 Node-RED 的用户登录。您可以使用"启动时"触发器在系统启动时始终运行 Node-RED。使用操作"启动程序",详细信息设置为
C:\Users\<user>\AppData\Roaming\npm\node-red.cmd(将 <user> 替换为您的实际用户名)。
您可能希望确保仅在网络可用时启动。您可能还希望在作业失败时重新启动。也许每分钟重启一次,但只重启 3 次 - 如果到那时还无法启动,则错误是致命的,需要其他干预。您可以通过查看事件日志来检查故障。如果您希望在这种方式运行时访问日志,您应该修改 node-red.cmd 文件以将标准和错误输出重定向到文件(创建替代启动文件会更好,这样在更新时不会被覆盖)。