You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过CLI禁用Node-RED中的指定节点并部署流程?

解决Node-RED编程式禁用串口节点的问题

错误原因

你使用的node-red admin disable <节点ID>命令是用来**禁用节点类型(整个模块)**的,并非针对单个节点实例。传入节点ID时,它会尝试寻找名为e5fd8ce75fd15002的模块,自然会触发400: Module not found错误。

正确操作步骤

要禁用指定串口节点实例并部署,需修改流程配置文件后重新部署:

  1. 定位流程文件
    Windows系统下,Node-RED流程文件默认存放在C:\Users\<你的用户名>\.node-red目录,文件名格式为flows_<你的电脑主机名>.json(例如flows_DESKTOP-XXXXXX.json)。

  2. 修改节点配置
    打开流程文件,找到目标节点(e5fd8ce75fd15002和52445f67209363f3),为它们添加"disabled": true属性:

// 修改后的serial in节点
{
    "id": "e5fd8ce75fd15002",
    "type": "serial in",
    "z": "41d9078ecff8c4b2",
    "name": "From Arduino",
    "serial": "f031c1d7028423f9",
    "disabled": true, // 新增禁用属性
    "x": 590,
    "y": 240,
    "wires": [
        ["9ab7a180aaf89f19"]
    ]
},
// 修改后的serial out节点
{
    "id": "52445f67209363f3",
    "type": "serial out",
    "z": "41d9078ecff8c4b2",
    "name": "To Arduino",
    "serial": "f031c1d7028423f9",
    "disabled": true, // 新增禁用属性
    "x": 410,
    "y": 240,
    "wires": []
}
  1. 部署修改后的流程
    如果Node-RED运行在本地默认端口1880且无授权验证,直接执行:
node-red admin deploy

若Node-RED实例非默认配置,需指定主机和端口:

node-red admin deploy --host <你的主机IP> --port <端口号>

自动化修改方案(可选)

若需完全通过命令行自动化操作,可使用jq工具(Windows下可通过Chocolatey或Scoop安装)批量添加禁用属性:

# 备份原流程文件
copy flows_<你的主机名>.json flows_backup.json

# 修改文件,为指定ID节点添加disabled: true属性
jq 'map(if .id == "e5fd8ce75fd15002" or .id == "52445f67209363f3" then . + {"disabled": true} else . end)' flows_<你的主机名>.json > temp.json && move temp.json flows_<你的主机名>.json

# 部署流程
node-red admin deploy

验证

部署完成后,Node-RED编辑器中对应串口节点会显示为灰色禁用状态,此时串口端口被释放,可正常向Arduino上传代码。

内容的提问来源于stack exchange,提问作者John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 02:45:34