升级protobufjs至7.1.2后编译protobuf报错,寻求解决方案
解决protobufjs 7.x pbjs编译报错问题
这个报错是因为protobufjs 7.x对pbjs的CLI命令格式做了大幅调整,和6.x的参数完全不兼容,按照以下步骤修复:
替换旧命令为7.x支持的格式
6.x常用的命令比如pbjs -t static-module -w commonjs input.proto -o output.js,在7.x里要改成对应格式:- 生成CommonJS(ES5)代码:
pbjs --es5 output.js input.proto - 生成ES6模块代码:
pbjs --es6 output.js input.proto - 生成TypeScript类型文件:
pbjs --ts output.ts input.proto
注意:7.x的命令格式是pbjs [选项] <输出路径> <schema路径>,输出路径紧跟在选项后面,最后才是protobuf文件路径,和6.x的顺序相反。
- 生成CommonJS(ES5)代码:
确认版本与执行环境
运行pbjs -V检查当前使用的版本是否为7.1.2,如果项目同时安装了全局和局部版本,建议用项目局部的命令(比如npx pbjs ...)避免版本冲突。查看完整选项说明
执行pbjs --help可以看到所有7.x支持的CLI选项,根据自己的需求调整命令。
内容的提问来源于stack exchange,提问作者N.SH
相关产品推荐
相关产品推荐

