操作系统特定安装
- 如果您使用的是树莓派或任何基于 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 版本: 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 : 树莓派特定节点设置为未激活
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_<主机名>.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_<主机名>.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 进程。例如,在像树莓派或 BeagleBone Black 这样内存有限的设备上运行时。
为此,您必须使用 node-red-pi 启动脚本来替代 node-red。注意:此脚本在 Windows 上不可用。
或者,如果您使用 node red.js 命令运行 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)。
后续步骤
- 了解如何保护您的编辑器安全
- 创建您的第一个流
- 设置开机自动启动 Node-RED