在 Windows 上运行

此页面提供在 Microsoft Windows 环境中设置 Node-RED 的具体说明。说明适用于 Windows 10。它们也可能适用于 Windows 7 和 Windows Server 2008R2 及更高版本,但由于缺乏当前支持,建议不要使用。

注意 : 以下某些说明提到“命令提示符”。在此使用时,它指的是 Windows cmd 或 PowerShell 终端外壳。建议在所有较新版本的 Windows 上使用 PowerShell,因为这将使您可以访问更接近于 Linux/Mac 的命令和文件夹名称。

快速入门

1. 安装 Node.js

从官方的 Node.js 主页 下载最新的 LTS 版本的 Node.js。它会为您的系统提供最佳版本。

运行下载的 MSI 文件。安装 Node.js 需要本地管理员权限;如果您不是本地管理员,安装时将提示您输入管理员密码。安装时接受默认选项。安装完成后,请关闭任何打开的命令提示符,然后重新打开以确保新环境变量被识别。

安装完成后,打开命令提示符并运行以下命令,以确保正确安装 Node.js 和 npm。

使用 Powershell: node --version; npm --version

使用 cmd: node --version && npm --version

您应该收到类似于以下的输出:

v18.15.0
9.5.0

2. 安装 Node-RED

将 Node-RED 作为全局模块安装会将命令 node-red 添加到您的系统路径中。在命令提示符中执行以下命令:

npm install -g --unsafe-perm node-red

3. 运行 Node-RED

安装完成后,您准备好 运行 Node-RED


Windows 上的替代安装

在这一部分中,我们提供有关在 Windows 上安装 Node.js、npm 和安装某些 Node-RED 节点所需的 Windows Build Tools 的替代方法的信息。

注意 : 除非特别指示,否则您应该 使用带有管理员权限的(即“提升”)命令提示符。您在学习 Node-RED 和 Node.js 过程中,很可能会需要对命令提示符相当熟悉,值得阅读一些 Microsoft 关于 PowerShell 的文章PowerShell 教程PowerShell 一行命令 网站也可能会很有帮助。

在 Windows 上的标准 Node.js 安装需要本地管理员权限。请从官方的 Node.js 主页 下载合适的版本。它会为您提供最佳版本。尽管您可以在 64 位 Windows 上使用 32 位或 64 位版本,但建议使用 64 位版本的 Node。如果出于某种原因,您需要不同的安装,您可以使用 下载页面

安装 Node.js 时,有两个潜在有用的替代方法。

  1. 使用 Chocolatey 包管理器

    Chocolatey 是一个 Windows 用的包管理器,类似于 Linux 上的 APT 或 yum,以及 Macintosh 平台上的 brew。如果您已经在使用 Chocolatey,您可能想使用该工具来安装 Node.js(例如,使用 nodejs-lts 包)。但是,请注意,许多包的管理不确定,并且这些包可能使用不同于上述提到的文件夹位置。

  2. 使用 Node 版本管理器

    使用 Node.js 版本管理器,如 nvm-windows,如果您正在进行 Node.js 开发并需要测试不同版本,这将非常有帮助。请记住,您需要在更换使用的 Node 版本时重新安装全局包,并可能需要重新安装本地包。

注意 : Microsoft 维护一个并行版本的 Node,使用 Microsoft Chakra Core JavaScript 引擎而不是 V8。这不建议用于 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)。如果您在具有多个用户登录的计算机上或在服务器上安装并使用管理员登录,而不是将要运行 Node 应用程序(如 Node-RED)的用户的登录,这将不太有用。

注意 : 要查看诸如 %APPDATA% 这样的文件夹名称的转换,您可以简单地将其输入到 Windows 文件资源管理器的地址栏中。或者,在 PowerShell 中,输入命令 cd $Env:APPDATA(在 cmd 中使用 cd %APPDATA%)。

要解决此问题,可以授予其他用户该文件夹的权限,并确保该文件夹包含在其 path 用户环境变量中。

另外,将全局文件位置更改为其他用户可以访问的地方。确保使用将运行 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

使用以上更改后,您可以将新的 prefix 文件夹添加到 PATH 系统变量中,并从用户的 Path 变量中删除旧文件夹。要更改 PATH 环境变量,您可以在开始菜单或 Cortana 中输入 environment 并选择 编辑环境变量

对每个运行 Node-RED 的用户,检查其他用户的上述设置是否正确。

安装 Node.js Windows Build Tools

许多 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 外壳,可能无法使用。

您现在可以创建您的 第一个流程

使用 PM2

如果您在 Windows 上开发 Node-RED 流或节点,您可能会发现使用 PM2 运行 Node-RED 很有帮助。可以将其配置为在文件更改时自动重启,始终保持 Node-RED 运行并管理日志输出。

在启动时运行 Node-RED

如果您想将 Windows 用作 Node-RED 的生产平台,您需要设置一个 Windows 任务计划程序任务。为此:

  1. 转到开始菜单,输入“任务计划程序”,然后单击结果。
  2. 在右侧菜单中单击“创建任务…”。按照步骤创建新任务。

确保使用您设置并首次运行 Node-RED 时使用的用户登录。您可以使用“在启动时”触发器始终在系统启动时运行 Node-RED。使用操作“启动程序”,详细信息设置为 C:\Users\<user>\AppData\Roaming\npm\node-red.cmd(将 <user> 替换为您的实际用户名)。

您可能希望确保仅在网络可用时才启动。您可能还希望在任务失败时重新启动。也许每分钟重启一次,但仅重启 3 次-如果到那时还无法启动,则该错误是致命的,需要其他干预。您可以通过查看事件日志来检查失败。如果您希望在以这种方式运行时访问日志,则应修改 node-red.cmd 文件以将标准和错误输出重定向到文件(创建一个替代启动文件更好,以便在更新时不会被覆盖)。