配置远程Node-RED模块时提示缺失package.json文件报错如何解决?
问题核心原因
node-red-contrib-remote模块的代码存在路径引用错误:其nodes子目录下的remote-commons.js文件尝试读取同级目录的package.json,但该文件实际存放在模块根目录,属于模块本身的代码缺陷,单纯重装模块无法修复该问题。
解决步骤
1. 手动修复代码路径
打开文件 C:\Users\HP.node-red\node_modules\node-red-contrib-remote\nodes\remote-commons.js,找到引用package.json的代码行,通常为如下写法:
const pkg = require('./package.json')
将路径修改为指向根目录的package.json:
const pkg = require('../package.json')
保存文件后重启Node-RED,90%以上的该类报错都会被修复。
2. 清理残留后重装(如修改代码无效)
如果修改代码后仍报错,说明模块安装存在文件残留,按以下顺序操作:
- 停止所有正在运行的Node-RED进程
- 进入Node-RED用户目录:
cd C:\Users\HP.node-red\ - 执行卸载命令:
npm uninstall node-red-contrib-remote - 手动删除残留的模块文件夹:
C:\Users\HP.node-red\node_modules\node-red-contrib-remote - 清理npm缓存:
npm cache clean --force - 重新安装模块:
npm install node-red-contrib-remote - 重启Node-RED后再执行第一步的路径修改操作
3. 补全缺失文件(极端情况)
如果模块根目录下确实没有package.json文件,在C:\Users\HP.node-red\node_modules\node-red-contrib-remote目录下执行npm init -y自动生成基础package.json文件即可。
内容的提问来源于stack exchange,提问作者sergio jauregui
相关产品推荐
相关产品推荐

