在Windows上运行

本页面提供了在微软Windows环境下设置Node-RED的具体指导说明。这些说明专门针对Windows 10系统编写。虽然它们可能也适用于Windows 7和2008R2版之后的Windows Server系统,但由于缺乏当前支持,建议不要在这些系统上使用。

Note : Some of the following instructions mention the "command prompt". Where this is used, it refers to either the Windows cmd or PowerShell terminal shells. It is recommended to use PowerShell on all newer versions of Windows as this gives you access to commands and folder names that are closer to those of Linux/Mac.

快速入门

1. 安装Node.js

从官方Node.js 主页下载最新的LTS版本Node.js。系统将为您提供最适合的版本。

运行下载的MSI文件。安装Node.js需要本地管理员权限;如果您不是本地管理员,安装时会提示输入管理员密码。安装时接受默认设置即可。安装完成后,关闭所有已打开的命令提示符窗口并重新打开,以确保新的环境变量生效。

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

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

使用命令: 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-RED所需Node.js、npm及Windows构建工具的其他替代安装方式。

Note : You should not use an administrative (a.k.a. "elevated") command prompt unless specifically instructed to. You will very likely need to be quite familiar with command prompts as you learn about Node-RED and Node.js and it will be worth while reading some of the Microsoft articles on PowerShell. the PowerShell 教程 and PowerShell 单行命令 sites may also be helpful.

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

除了使用MSI安装程序安装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版本时,可能需要重新安装全局包以及本地包。

Note : Microsoft maintain a parallel version of Node that uses the Microsoft Chakra Core JavaScript engine instead of V8. This is not recommended for Node-RED as it has not been tested.

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-RED 等 Node 应用程序的用户登录进行安装,这种做法就不太方便。

Note : To see what a folder name like %APPDATA% translates to, you can simply type it into the address bar of the Windows File Explorer. Alternatively, in PowerShell, type the command cd $Env:APPDATA(cd %APPDATA% using cmd).

要解决此问题,请授予其他用户对该文件夹的权限,并确保该文件夹包含在他们的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构建工具

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
Notes:
  • 并非所有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任务计划程序作业。具体操作如下:

  1. 前往开始菜单,输入"任务计划程序"并点击结果。
  2. 点击右侧菜单中的"创建任务..."。按照步骤创建新任务。

请确保使用您最初设置并首次运行Node-RED时所用的用户登录账号。您可以使用"启动时"触发器让Node-RED在系统启动时自动运行。在操作中选择"启动程序",并将详细信息设置为C:\Users\\AppData\Roaming\npm\node-red.cmd(请将替换为您实际的用户名)。

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