Flutter 颤振/飞镖计划;protoc gen dart:插件输出不可解析”;

Flutter 颤振/飞镖计划;protoc gen dart:插件输出不可解析”;,flutter,dart,protocol-buffers,Flutter,Dart,Protocol Buffers,models.proto: syntax = "proto2"; package proto; message MessageEnvelope { } 我运行以下命令: brew安装协议 颤振发布全局激活协议插件 export PATH=“$PATH:/Users/gintas/flatter/.pub cache/bin” protoc——省道=/lib/models/protobuf/models.proto-I=。 我收到这个垃圾: --省道:protoc gen省道:插件输出不可解析

models.proto:

syntax = "proto2";
package proto;

message MessageEnvelope {
}
我运行以下命令:
brew安装协议
颤振发布全局激活协议插件
export PATH=“$PATH:/Users/gintas/flatter/.pub cache/bin”
protoc——省道=/lib/models/protobuf/models.proto-I=。

我收到这个垃圾:

--省道:protoc gen省道:插件输出不可解析:\rz\354\014\n\“lib/models/protobuf/models.pb.dartz\305\014//\n//生成的代码。不要修改。\n//source:lib/models/protobuf/models.proto\n/\n/@dart=2.3\n//ignore\u for\u文件:camel\u case\u类型、非常量\u标识符\u名称、库前缀、未使用的\u导入、未使用的\u显示的\u名称、将\u无效的\u类型\n\nimport\dart:core\作为$core返回\n\nimport \'包:protobuf/protobuf.dart \'为$pb\n\nclass MessageEnvelope扩展了$pb.GeneratedMessage{\n静态最终$pb.BuilderInfo i=$pb.BuilderInfo(\'MessageEnvelope\',包:const$pb.PackageName(\'proto\',createEmptyInstance:create)\n..hasRequiredFields=false\n;\n\n MessageEnvelope.():super();\n factory MessageEnvelope()=>create();\n factory MessageEnvelope.fromBuffer($core.List i,[$pb.ExtensionRegistry r=$pb.ExtensionRegistry.EMPTY])=>create()…mergeFromBuffer(i,r);\n factory MessageEnvelope.fromJson($core.String i,[$pb.ExtensionRegistry r=$pb.ExtensionRegistry.EMPTY])=>create()…mergeFromJson(i,r);\n MessageEnvelope clone()=>MessageEnvelope()…mergeFromMessage(this);\n MessageEnvelope copyWith(无效函数(MessageEnvelope)更新)=>super.copyWith((message)=>updates(MessageAs MessageEnvelope));\n$pb.BuilderInfo获取信息=>i;\n@$core.pragma(\'dart2js:noInline\')\n静态MessageEnvelope create()=>MessageEnvelope.(;\n MessageEnvelope createEmptyInstance()=>create();\n static$pb.PbList createRepeated()=>$pb.PbList();\n@$core.pragma(\'dart2js:noInline\')\n static MessageEnvelope getDefault()=>\u defaultInstance???=$pb.GeneratedMessage.$\u defaultFor(create);\n static MessageEnvelope\u defaultInstance;\n}\n\n\nz\235\002\n&lib/models/protobuf/models.pbenum.dartz\362\001/\n//生成的代码。不要修改。\n//source:lib/models/protobuf/models.proto\n/\n/@dart=2.3\n//ignore\u for\u文件:camel\u case\u类型、非常量标识符\u名称、库前缀、未使用的\u导入、未使用的\u显示的\u名称、返回无效的\u类型\n\nz\340\002\n&lib/models/protobuf/models.pbjson.dartz\265\002/\n//生成的代码。不要修改。\n//source:lib/models/protobuf/models.proto\n/\n/@dart=2.3\n//ignore\u for\u文件:camel\u大小写类型、非常量标识符名称、库前缀、未使用的\u导入、未使用的\u显示的\u名称、返回\u无效的\u类型\n\nCost MessageEnvelope$json=const{\n\n\1\:\'MessageEnvelope\,\n\n\nz\271\002\n(lib/models/protobuf/models.pbserver.dartz\214\002//\n//生成的代码。不要修改。\n//来源:lib/models/protobuf/models.proto\n/\n/@dart=2.3\n//忽略\u文件的\u:camel\u大小写类型、非常量\u标识符\u名称、库前缀、未使用的\u导入、未使用的\u显示的\u名称、返回无效的\u类型\n\n\nexport\n\n\nexport\n\n


如果我做了
protoc--java_out=../lib/models/protobuf/models.proto-I=.
,那么生成的java文件没有错误

将dart降级到以前的版本2.8.4对我有效

我在windows上遇到了与golang类似的问题,protoc无法正常工作,错误为“插件输出无法解析”并在输出中显示类似于程序跟踪的内容。
经过长时间的搜索并最终在process monitor中进行跟踪,我发现protoc用于运行插件的cmd.exe不是system cmd,而是使用go/bin中的“go install”go程序编译而成的。protoc从PATH获得它并使用它来代替系统的cmd。通过删除伪cmd.exe解决了问题

您是否怀疑最近的版本中存在错误版本
flutter doctor -v
[✓] Flutter (Channel master, 1.19.0-2.0.pre.173, on Mac OS X 10.15.4 19E287, locale en-GB)
    • Flutter version 1.19.0-2.0.pre.173 at /Users/gintas/flutter
    • Framework revision 5663e02645 (23 hours ago), 2020-05-27 18:32:01 -0400
    • Engine revision 2663be8370
    • Dart version 2.9.0 (build 2.9.0-11.0.dev e007545c42)


[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/gintas/Library/Android/sdk
    • Platform android-29, build-tools 29.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.4.1, Build version 11E503a
    • CocoaPods version 1.9.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 3.6)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 45.1.1
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)

[!] VS Code (version 1.43.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    ✗ Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (3 available)
    • macOS      • macOS      • darwin-x64     • Mac OS X 10.15.4 19E287
    • Web Server • web-server • web-javascript • Flutter Tools
    • Chrome     • chrome     • web-javascript • Google Chrome 83.0.4103.61

! Doctor found issues in 1 category.