当前位置: 首页 > news >正文

Node-RED:5分钟快速上手:安装与环境配置

头图

Node-RED:5分钟快速上手:安装与环境配置

文章目录

  • Node-RED:5分钟快速上手:安装与环境配置
    • 一、准备工作:你真的需要“最新版”吗?
    • 二、三种主流安装方式,总有一款适合你
      • 方式1:全局 npm 安装(最常用)
      • 方式2:Docker 一键部署(适合服务器)
      • 方式3:直接运行源码(适合开发者)
    • 三、首次启动:别急着写流程,先看懂目录结构
    • 四、配置优化:让 Node-RED 更好用
      • 1. 修改默认端口
      • 2. 启用用户认证(安全第一!)
      • 3. 调整日志级别
    • 五、常见问题排查:这些坑我都替你踩过了
      • ❌ 问题1:启动后浏览器打不开,提示“连接被拒绝”
      • ❌ 问题2:安装节点时卡在“正在安装...”
      • ❌ 问题3:树莓派上启动慢、内存不足
    • 六、验证安装:创建你的第一个流程
    • 七、下一步:别急着深入,先备份!
    • 写在最后

关键字: Node-REDDocker 部署 Node-REDnpm 权限问题Node-RED 用户认证Node-RED 配置文件 Node-RED 安装flows.json 备份

去年冬天,我帮一位做智慧农业的朋友调试设备。他用的是树莓派 3B+,系统是 Raspbian,网络环境还不太稳定。当时他尝试安装 Node-RED,结果卡在 npm 权限问题上整整一下午。后来我远程连过去,三分钟搞定——不是我多厉害,而是踩过的坑多了,知道哪些地方容易“翻车”。

今天这篇文章,就是想把这份经验毫无保留地分享出来。无论你是用 Windows 写代码的后端工程师,还是在树莓派上折腾传感器的创客,亦或是第一次接触低代码工具的新手,只要跟着一步步操作,你都能在 5 分钟内跑起 Node-RED。

更重要的是,我会告诉你哪些地方容易出错,以及为什么出错

一、准备工作:你真的需要“最新版”吗?

很多人一上来就执行 npm install -g node-red@latest,结果发现和系统里的 Node.js 版本不兼容。其实,Node-RED 对 Node.js 版本有明确要求。

截至 2025 年 10 月,官方推荐的 Node.js 版本是 18.x 或 20.x(LTS)。Node.js 22 虽然已发布,但部分社区节点尚未完全适配,不建议生产环境使用

你可以通过以下命令检查当前版本:

node -v
npm -v

image-20251028082547468

如果显示的是 v14 或更早版本(比如 Ubuntu 20.04 默认的 Node.js 10),请先升级。推荐使用 Node Version Manager(nvm) 来管理多个版本,避免污染系统环境。

📌 小贴士:在树莓派或老旧服务器上,尽量使用 LTS 版本。我曾在一台 1GB 内存的设备上强行跑 Node.js 22,结果内存溢出,服务频繁崩溃。

二、三种主流安装方式,总有一款适合你

Node-RED 的安装方式非常灵活。根据你的使用场景,可以选择以下任一方式:

方式1:全局 npm 安装(最常用)

这是官方推荐的方式,适合大多数开发者。

# 全局安装
npm install -g node-red# 启动
node-red

image-20251028082750407

image-20251028082816834

启动后,浏览器访问 http://localhost:1880,就能看到熟悉的编辑器界面。

image-20251028082926988

但这里有个经典陷阱:如果你用的是 Linux 或 macOS,且 Node.js 是通过系统包管理器(如 apt、yum)安装的,可能会遇到权限问题,提示:

Error: EACCES: permission denied, access '/usr/local/lib/node_modules'

解决方法:不要用 sudo!而是配置 npm 的全局目录到用户目录下:

mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

然后再执行 npm install -g node-red,就再也不会有权限问题了。

方式2:Docker 一键部署(适合服务器)

如果你习惯用容器化部署,Node-RED 官方提供了 Docker 镜像,支持 ARM(树莓派)和 x86 架构。

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

image-20251028085128647

但要注意:容器内的流程默认不会持久化!重启容器后所有配置都会丢失。

正确的做法是挂载数据卷:

mkdir ~/nodered-data
docker run -it -p 1880:1880 \-v ~/nodered-data:/data \--name mynodered nodered/node-red

这样,你的流程、节点配置、用户凭证都会保存在本地 ~/nodered-data 目录中。

方式3:直接运行源码(适合开发者)

如果你想贡献代码或调试节点,可以直接克隆 GitHub 仓库:

git clone https://github.com/node-red/node-red.git
cd node-red
npm install
npm start

这种方式会启用开发模式,支持热重载,但不适合生产环境。

三、首次启动:别急着写流程,先看懂目录结构

当你第一次运行 node-red,它会在用户目录下创建一个隐藏文件夹:~/.node-red(Windows 是 %USERPROFILE%\.node-red)。

这个目录非常重要,它的结构如下:

graph TD
A[.node-red] --> B[flows.json]
A --> C[package.json]
A --> D[node_modules]
A --> E[settings.js]
A --> F[lib/]
  • flows.json:你所有流程的定义文件(JSON 格式),相当于“项目源码”
  • package.json:记录你安装的第三方节点(如 dashboard、mqtt 等)
  • node_modules:第三方节点的实际代码
  • settings.js:核心配置文件,可修改端口、用户认证、日志级别等
  • lib/:自定义函数库或子流程模板

💡 建议:定期备份 flows.jsonpackage.json。我曾因误操作清空流程,幸好有 Git 提交记录才没重做。

四、配置优化:让 Node-RED 更好用

默认配置虽然能跑,但离“好用”还有距离。以下是几个必改项。

1. 修改默认端口

如果你的 1880 端口被占用(比如另一个 Node-RED 实例),可以修改 settings.js

module.exports = {uiPort: process.env.PORT || 1881, // 改成 1881// ... 其他配置
}

或者通过环境变量启动:

PORT=1881 node-red

2. 启用用户认证(安全第一!)

Node-RED 默认没有密码!这意味着只要能访问 IP:1880,就能控制你的所有流程——包括发送 HTTP 请求、读取文件、控制硬件。

settings.js 中取消注释以下部分:

adminAuth: {type: "credentials",users: [{username: "admin",password: "$2a$08$zZW4a...(加密后的密码)",permissions: "*"}]
}

密码不能明文写!要用 bcrypt 加密。官方提供了一个在线工具(或用命令行):

node-red admin hash-pw

输入密码后,它会输出加密字符串,粘贴到配置文件即可。

3. 调整日志级别

默认日志太多,调试时容易淹没关键信息。可在 settings.js 中设置:

logging: {console: {level: "info" // 可选: fatal, error, warn, info, debug, trace}
}

生产环境建议用 info,开发时可临时改为 debug

五、常见问题排查:这些坑我都替你踩过了

❌ 问题1:启动后浏览器打不开,提示“连接被拒绝”

  • 检查是否绑定了 127.0.0.1(默认只允许本地访问)

  • 如果是远程服务器,需在 settings.js 中设置:

    uiHost: "0.0.0.0"
    
  • 同时确保防火墙开放 1880 端口(云服务器需配置安全组)

❌ 问题2:安装节点时卡在“正在安装…”

  • 很可能是 npm 源太慢。建议切换为国内镜像:

    npm config set registry https://registry.npmmirror.com
    
  • 或者手动安装:进入 ~/.node-red 目录,执行

    npm install node-red-dashboard
    

❌ 问题3:树莓派上启动慢、内存不足

  • 关闭不必要的服务(如蓝牙、GUI)

  • 使用轻量系统(如 Raspberry Pi OS Lite)

  • settings.js 中限制最大消息队列:

    flowFilePretty: true,
    nodeMaxQueueSize: 10  // 默认是 1000,降低可省内存
    

六、验证安装:创建你的第一个流程

一切就绪后,让我们做个简单测试:

  1. 打开 http://localhost:1880
  2. 从左侧调色板拖一个 Inject 节点 到画布
  3. 再拖一个 Debug 节点
  4. 用鼠标从 Inject 连到 Debug
  5. 点击右上角 部署(Deploy)
  6. 点击 Inject 节点左侧的按钮

如果右侧调试面板出现 timestamp 信息,恭喜你——Node-RED 已成功运行!

这个流程虽然简单,但它验证了:

  • 编辑器能正常加载
  • 节点能被实例化
  • 消息能正确传递
  • 调试面板能输出结果

image-20251028083304326


七、下一步:别急着深入,先备份!

在你兴奋地开始构建复杂流程前,请做一件事:备份当前环境

# 备份流程和依赖
cp ~/.node-red/flows.json ~/backup/
cp ~/.node-red/package.json ~/backup/

或者直接用 Git:

cd ~/.node-red
git init
git add .
git commit -m "Initial setup"

我见过太多人因为一次误操作,导致几天的工作付诸东流。而一个简单的备份,就能让你高枕无忧。


写在最后

安装 Node-RED 本身可能只需 1 分钟,但配置一个稳定、安全、可维护的环境,才是真正的开始。这篇文章没有堆砌命令,而是聚焦于“为什么这么做”和“哪里会出错”——因为技术的价值,不在于知道怎么做,而在于知道为什么这么做

延伸提示

  • 官方安装文档:https://nodered.org/docs/getting-started
  • 国内镜像加速:https://npmmirror.com
  • 树莓派优化指南:搜索 “Node-RED Raspberry Pi performance”

博客签名2021
http://www.dtcms.com/a/586104.html

相关文章:

  • 青海移动网站建设wordpress 显示标题
  • 3.1.STM32-GPIO通用输入输出口
  • 东营 网站建设公司网站项目设计
  • [论文阅读] AI + 职业教育 | 从框架到实践:职业院校教师人工智能素养提升的完整方案
  • 零基础入门C语言之C语言实现数据结构之顺序表应用
  • 网站建设 淘宝详情东莞网站建设哪里好
  • 大连的网站设计公司wordpress支持页面模版
  • 孤能子视角:房地产,独一无二的“社会场域能力“
  • 【AI安全】检索增强生成(RAG)
  • qt中以this为父窗口和以centralwidget为父窗口有什么区别
  • xxx网站建设与优化推广做网站市场报价步登顶
  • 【Spring Boot】REST与RESTful详解,基于Spring Boot的RESTful API实现
  • 2025年渗透测试面试题总结-234(题目+回答)
  • Z-Wave物联网网关开发专用 SDK - Unify
  • 3g微网站北京住房和城乡建设官方网站
  • 济南一哥网站建设网站建设明薇通网络服务好
  • 弱函数 vs 回调函数:本质区别解析
  • 2024年 国内养老机构及床位数据
  • 建设部标准规范网站wordpress防止采集
  • 4.3 IP: Internet Protocol
  • 一般购物网站项目深圳做网站比较好天涯
  • 网站建设的重点难点企业简介 网站建设
  • PostgreSQL 19新特性之GROUP BY ALL
  • 技能补全之Python AES GCM 加密存储
  • NCP13992 CS 分压计算
  • MySQL事务:如何保证ACID?MVCC到底如何工作?
  • 240-基于Python的医疗疾病数据可视化分析系统
  • 网站开发合同管辖权异议商务网站建设实训心得体会
  • 【CUDA笔记】01-入门简介
  • 教育网站制作方案php大型网站开发书籍