本地运行 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

欢迎来到 Node-RED
===================

30 Jun 23:43:39 - [info] Node-RED 版本: v1.3.5
30 Jun 23:43:39 - [info] Node.js  版本: v14.7.2
30 Jun 23:43:39 - [info] Darwin 19.6.0 x64 LE
30 Jun 23:43:39 - [info] 正在加载调色板节点
30 Jun 23:43:44 - [warn] rpi-gpio : Raspberry Pi 特定节点集未激活
30 Jun 23:43:44 - [info] 设置文件  : /Users/nol/.node-red/settings.js
30 Jun 23:43:44 - [info] HTTP 静态    : /Users/nol/node-red/web
30 Jun 23:43:44 - [info] 上下文存储  : 'default' [module=localfilesystem]
30 Jun 23:43:44 - [info] 用户目录 : /Users/nol/.node-red
30 Jun 23:43:44 - [warn] 项目已禁用 : 设置 editorTheme.projects.enabled=true 来启用
30 Jun 23:43:44 - [info] 创建新的流程文件 : flows_noltop.json
30 Jun 23:43:44 - [info] 正在启动流程
30 Jun 23:43:44 - [info] 已启动流程
30 Jun 23:43:44 - [info] 服务器现在在 http://127.0.0.1:1880/red/ 运行

然后,您可以通过将浏览器指向 http://localhost: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 开头该命令。

下一步