在本地运行 Node-RED

如果您使用的是 Raspberry Pi 或任何基于 Debian 的操作系统,包括 Ubuntu 和 Diet-Pi,您可以使用此处提供的 Pi 安装脚本。
如果您使用的是基于 RPM 的操作系统,包括 RedHat、Fedora 和 CentOS,您可以使用此处提供的 RPM 安装脚本。
如果您使用 Windows,可以此处找到安装 Node-RED 的详细说明。

先决条件

要在本地安装 Node-RED,您需要一个受支持的 Node.js 版本

使用 npm 安装

要安装 Node-RED,您可以使用 Node.js 附带的 npm 命令

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

如果您使用 Windows,请不要以 sudo 开头命令。

该命令将 Node-RED 及其依赖项作为全局模块安装。

如果命令输出的末尾类似于以下内容,则可以确认它已成功

+ node-red@1.1.0
added 332 packages from 341 contributors in 18.494s
found 0 vulnerabilities

使用 docker 安装

要以最简单的形式在 Docker 中运行,只需运行

docker run -it -p 1880:1880 --name mynodered nodered/node-red

有关更详细的信息,请参阅我们的 docker 指南。

使用 snap 安装

如果您的操作系统支持 Snap,您可以使用以下命令安装 Node-RED

sudo snap install node-red

当作为 Snap 软件包安装时,它将在一个安全容器中运行,该容器**无法访问**您可能需要使用的一些额外功能,例如

  • 访问主系统存储。只能读/写本地主目录。
  • gcc - 编译您想要安装的任何节点二进制组件所需
  • git - 如果您想使用项目功能,则需要
  • 直接访问 gpio 硬件
  • 访问您的流程想要与 Exec 节点(例如)一起使用的任何外部命令。

如果您需要访问系统硬件或添加需要编译的节点,我们建议使用 Node-RED 的完整安装,而不是使用 snap。

运行

一旦作为全局模块安装,您可以使用 node-red 命令在终端中启动 Node-RED。您可以使用 Ctrl-C 或关闭终端窗口来停止 Node-RED。

$ node-red

Welcome to Node-RED
===================

30 Jun 23:43:39 - [info] Node-RED version: v1.3.5
30 Jun 23:43:39 - [info] Node.js  version: v14.7.2
30 Jun 23:43:39 - [info] Darwin 19.6.0 x64 LE
30 Jun 23:43:39 - [info] Loading palette nodes
30 Jun 23:43:44 - [warn] rpi-gpio : Raspberry Pi specific node set inactive
30 Jun 23:43:44 - [info] Settings file  : /Users/nol/.node-red/settings.js
30 Jun 23:43:44 - [info] HTTP Static    : /Users/nol/node-red/web
30 Jun 23:43:44 - [info] Context store  : 'default' [module=localfilesystem]
30 Jun 23:43:44 - [info] User directory : /Users/nol/.node-red
30 Jun 23:43:44 - [warn] Projects disabled : set editorTheme.projects.enabled=true to enable
30 Jun 23:43:44 - [info] Creating new flows file : flows_noltop.json
30 Jun 23:43:44 - [info] Starting flows
30 Jun 23:43:44 - [info] Started flows
30 Jun 23:43:44 - [info] Server now running at http://127.0.0.1:1880/red/

然后,通过将浏览器指向 https://:1880 即可访问 Node-RED 编辑器。

日志输出为您提供各种信息

  • Node-RED 和 Node.js 的版本
  • 加载调色板节点时遇到的任何错误
  • 您的设置文件和用户目录的位置
  • 它正在使用的流程文件的名称。

Node-RED 使用 flows_<hostname>.json 作为默认流程文件。您可以通过将流程文件名作为参数提供给 node-red 命令来更改它。

命令行用法

Node-RED 可以使用命令 node-red 启动。此命令可以带各种参数

node-red [-v] [-?] [--settings settings.js] [--userDir DIR]
         [--port PORT] [--title TITLE] [--safe] [flows.json|projectName]
         [-D X=Y|@file]
选项 描述
-p, --port PORT 设置运行时侦听的 TCP 端口。默认值:1880
--safe 启动 Node-RED 但不启动流程。这允许您在编辑器中打开流程并进行更改,而无需运行流程。当您部署更改时,流程将随后启动。
-s, --settings FILE 设置要使用的设置文件。默认值:userDir 中的 settings.js
--title TITLE 设置进程窗口标题
-u, --userDir DIR 设置要使用的用户目录。默认值:~/.node-red
-v 启用详细输出
-D X=Y|@file 覆盖单个设置
-?, --help 显示命令行用法帮助并退出
flows.json|projectName 如果未启用项目功能,则此项设置您要使用的流程文件。如果启用项目功能,则此项标识应启动哪个项目。

Node-RED 使用 flows_<hostname>.json 作为默认流程文件。如果您运行的计算机可能会更改其主机名,则应确保提供一个静态文件名;可以作为命令行参数提供,也可以在您的设置文件中使用 flowsFile 选项。

覆盖单个设置

自 Node-RED 1.1.0 起

您可以使用 -D(或 --define)选项在命令行上覆盖单个设置。

例如,要更改日志级别,您可以使用

-D logging.console.level=trace

您还可以将自定义设置作为文件提供

-D @./custom-settings.txt

该文件应包含要覆盖的设置列表

logging.console.level=trace
logging.console.audit=true

将参数传递给底层 Node.js 进程

在某些情况下,需要将参数传递给底层 Node.js 进程。例如,在 Raspberry Pi 或 BeagleBone Black 等内存受限的设备上运行时。

为此,您必须使用 node-red-pi 启动脚本来代替 node-red。*注意*:此脚本在 Windows 上不可用。

或者,如果您正在使用 node 命令运行 Node-RED,则必须在指定 red.js 和您想要传递给 Node-RED 本身的参数之前,为 node 进程提供参数。

以下两个命令显示了这两种方法

node-red-pi --max-old-space-size=128 --userDir /home/user/node-red-data/
node --max-old-space-size=128 red.js --userDir /home/user/node-red-data/

升级 Node-RED

如果您使用 Pi 脚本安装了 Node-RED,则可以重新运行它以进行升级。该脚本可在此处获得。

如果您已将 Node-RED 安装为全局 npm 包,则可以使用以下命令升级到最新版本

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

如果您使用 Windows,请不要以 sudo 开头命令。

后续步骤