node-red-contrib-symi-modbus 1.5.6 → 1.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +98 -1
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -34,6 +34,88 @@ npm install node-red-contrib-symi-modbus
34
34
 
35
35
  **已发布到npm:** https://www.npmjs.com/package/node-red-contrib-symi-modbus
36
36
 
37
+ ### Docker/容器环境安装
38
+
39
+ 本节点依赖`modbus-serial`包,该包包含native C++模块(serialport),需要编译环境。
40
+
41
+ #### ⚠️ 如果遇到安装错误
42
+
43
+ **错误示例:**
44
+ ```
45
+ npm error code 127
46
+ npm error command sh -c node-gyp-build
47
+ npm error sh: node-gyp-build: not found
48
+ ```
49
+
50
+ **原因:** Docker容器缺少编译工具(python、make、g++)
51
+
52
+ **解决方案1:使用官方Node-RED Docker镜像(推荐)**
53
+
54
+ 官方镜像已包含编译工具:
55
+ ```bash
56
+ docker pull nodered/node-red:latest
57
+ ```
58
+
59
+ **解决方案2:在Dockerfile中添加编译依赖**
60
+
61
+ Alpine基础镜像:
62
+ ```dockerfile
63
+ FROM nodered/node-red:latest
64
+ # 或者自定义镜像时添加
65
+ RUN apk add --no-cache \
66
+ python3 \
67
+ make \
68
+ g++ \
69
+ linux-headers
70
+ ```
71
+
72
+ Debian/Ubuntu基础镜像:
73
+ ```dockerfile
74
+ FROM nodered/node-red:latest
75
+ # 或者
76
+ RUN apt-get update && apt-get install -y \
77
+ python3 \
78
+ make \
79
+ g++ \
80
+ build-essential
81
+ ```
82
+
83
+ **解决方案3:在运行中的容器安装**
84
+
85
+ ```bash
86
+ # 进入容器
87
+ docker exec -it <container_id> /bin/sh
88
+
89
+ # Alpine
90
+ apk add --no-cache python3 make g++ linux-headers
91
+
92
+ # Debian/Ubuntu
93
+ apt-get update && apt-get install -y python3 make g++ build-essential
94
+
95
+ # 退出容器后,在Node-RED界面重新安装节点
96
+ ```
97
+
98
+ **解决方案4:使用docker-compose(推荐)**
99
+
100
+ ```yaml
101
+ version: '3.8'
102
+ services:
103
+ node-red:
104
+ image: nodered/node-red:latest
105
+ ports:
106
+ - "1880:1880"
107
+ volumes:
108
+ - node-red-data:/data
109
+ # 如果需要串口设备,添加设备映射
110
+ devices:
111
+ - "/dev/ttyUSB0:/dev/ttyUSB0"
112
+ # 如果需要串口权限
113
+ user: "1000:20" # dialout组ID通常是20
114
+
115
+ volumes:
116
+ node-red-data:
117
+ ```
118
+
37
119
  ### 本地开发安装
38
120
 
39
121
  ```bash
@@ -1063,7 +1145,22 @@ python -m pymodbus.server tcp --port 502
1063
1145
 
1064
1146
  ## 更新日志
1065
1147
 
1066
- ### v1.5.6 (2025-10-18) - MQTT错误提示优化 ✅最新版本
1148
+ ### v1.5.7 (2025-10-18) - Docker/容器环境支持文档 ✅最新版本
1149
+ - ✅ **Docker环境安装指南**:
1150
+ - 添加完整的Docker/容器环境安装说明
1151
+ - 详细解释native模块编译错误的原因和解决方案
1152
+ - 提供4种解决方案:官方镜像、Dockerfile配置、运行时安装、docker-compose
1153
+ - 包含Alpine和Debian/Ubuntu两种基础镜像的配置示例
1154
+ - ✅ **错误码127说明**:
1155
+ - 明确说明`npm error code 127`是环境问题,不是代码问题
1156
+ - 提供清晰的错误诊断步骤
1157
+ - 帮助用户快速定位和解决serialport编译问题
1158
+ - ✅ **docker-compose示例**:
1159
+ - 提供完整的docker-compose.yml配置
1160
+ - 包含串口设备映射和权限配置
1161
+ - 适合生产环境部署
1162
+
1163
+ ### v1.5.6 (2025-10-18) - MQTT错误提示优化
1067
1164
  - ✅ **MQTT错误提示改进**:
1068
1165
  - 当MQTT连接失败且错误消息为空时,提供友好的默认提示
1069
1166
  - 明确提示broker地址和可能的原因:"无法连接到MQTT broker: xxx,请检查broker是否运行"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-red-contrib-symi-modbus",
3
- "version": "1.5.6",
3
+ "version": "1.5.7",
4
4
  "description": "Node-RED Modbus节点,支持TCP/串口通信、串口自动搜索(包括/dev/ttyS1等)、多设备轮询、智能日志限流、MQTT集成、Home Assistant自动发现和多品牌开关面板,现代化美观配置界面",
5
5
  "main": "nodes/modbus-master.js",
6
6
  "scripts": {