本节介绍在Windows环境中安装和运行Node-RED的具体说明。这些说明特定于Windows 10和Windows 11,但也适用于Windows 7和Windows Server 2008R2。由于缺乏当前支持,不建议使用Windows 7或Windows Server 2008R2之前的版本。
注意:
以下一些说明提到了命令提示符。它指的是Windows终端CMD或管理员终端PowerShell。建议在所有较新版本的Windows上使用PowerShell,因为这使你可以访问更接近Linux、mac的命令和文件夹。
Node-RED官方已提供Node.js安装包(截至2022年11月的长期支持版本为10.16.0)、编译器和相应的API文档。Node.js下载界面如图2-5所示。
图2-5 Node.js下载界面
首先找到对应的Windows版本,如32位或者64位,然后下载msi文件并进行安装。安装Node.js需要本地管理员权限,如果你不是本地管理员,系统会在安装时提示输入管理员密码。安装完成后,关闭所有打开的命令提示符并重新打开,以确保选择新的环境变量。
安装完成后,打开命令PowerShell终端窗口并运行以下命令,以确保正确安装了Node.js和NPM:
之后,你应该收到类似于以下内容的返回:
在命令提示符下执行以下命令,会将Node-RED安装为全局模块:
安装过程中保证计算机联网,出现下面返回消息,表示安装成功:
安装完毕后,Node-RED会安装到当前用户的目录中,如当前Windows用户为He Zheng,则可以在C:\Users\He Zheng\.node-red目录下找到安装好的Node-RED,如图2-6所示。
安装后,你就可以运行Node-RED了。运行Node-RED的简单方法是利用命令提示符:
出现图2-7所示界面,表示Node-RED启动成功:
图2-6 Windows下Node-RED的安装目录位置
图2-7 Node-RED启动成功界面
注意:
Node-RED日志将输出到终端。只有终端保持打开状态,才能使Node-RED保持运行。终端窗口关闭或者用鼠标选中文字,都将导致Node-RED停止运行。另一种手动停止Node-RED的方式是使用“Ctrl+C”组合键直接关闭此进程。
约定:
安装Node-RED将在你的%HOMEPATH%文件夹中创建一个名为.node-red的文件夹。这是你的userDir文件夹,可视为当前用户的Node-RED配置的主文件夹。“~”是类Unix系统上用户主文件夹的简写。约定~/.node-red在后文均指userDir的位置,无论Windows还是Linux操作系统。
按照上文的介绍,在Windows环境中运行的Node-RED还是依赖终端窗口,但是在实际环境中,需要将Node-RED作为Windows的后台服务进行启动,并且可以将日志写入文件而不是显示在终端窗口。这里采用PM2工具完成此任务。PM2是一个进程管理工具,可以管理Node进程,并查看Node进程的状态,也具有性能监控、进程守护、负载均衡等功能。PM2可以在后台启动、停止、管理Node.js的程序。
安装PM2:
使用PM2启动Node-RED:
使用PM2停止Node-RED:
使用PM2重启Node-RED:
使用PM2查看Noed-RED日志:
如果你想将Windows作为Node-RED的生产平台,你需要设置Windows任务计划程序作业,可以按照以下步骤完成。
● 单击“开始”菜单并键入“任务计划程序”,然后回车。
● 单击右侧菜单中的“创建任务...”,出现图2-8所示界面后按提示步骤创建新任务。
图2-8 任务计划程序界面
创建任务窗口界面如图2-9所示。
图2-9 创建任务窗口界面
新建触发器界面如图2-10所示。
图2-10 新建触发器界面
在图2-10所示界面中输入以下内容:
注意:
node-red.cmd是Node-RED安装后生成的Windows系统中使用的脚本文件。
node-red.cmd的脚本内容如下:
你不需要马上理解上面的内容,不过如果你需要实现以下需求,可以尝试学习CMD脚本的规则,然后按照规则编辑node-red.cmd文件。
● 希望确保Node-RED仅在网络可用时启动。
● 如果启动失败,你可能还希望重新启动,且每分钟重新启动一次,但只重新启动3次,如果到那时还没有启动,表示是严重系统级错误,此时记录日志并提醒管理员进行干预。
● 通过查看日志文件来检查故障。如果你想以这种方式在运行时访问日志,你应该修改node-red.cmd文件以将std和错误输出重定向到一个文件。创建一个替代启动文件会更好,这样它就不会在更新时被覆盖。
在安装Node-RED其他节点库的时候(比如支持串口通信的一些节点),由于这些库很多都使用了Node.js模块的二进制组件,需要先编译才能在Windows上运行,强烈建议事先安装好Windows的Node.js的构建工具。要使NPM能够在Windows平台上编译二进制文件,请以管理员身份使用以下命令提示符安装windows-build-tools模块:
如果你希望用内置的Python v2.7来使用这个编译工具,请使用以下命令:
注意:
● 并非所有Node.js模块都可以在Windows下运行,请仔细检查安装输出是否有错误。
● 在安装过程中,node-gyp命令可能会报告一些错误。这些错误通常不会影响Node-RED的基本功能,但可能导致一些可选依赖项无法正常工作。如果你遇到致命错误,请按照以下步骤操作:关闭并重新打开命令提示符窗口,以确保环境变量正确设置;重新运行安装命令,如npm install-g--unsafe-perm node-red。如果问题仍然存在,可以尝试使用管理员权限运行命令提示符,然后再次尝试安装。