软件环境:Win10、Goland。
去版本:go1.9.1 windows/amd64。protoc --version: libprotoc 3.5.1 当我执行命令时。结果如下
protoc -I . --go_out=plugins=grpc: . proto/hello/hello.proto
.: Permission denied
我试图以管理员身份运行。我可以完全控制所有文件。现在我该怎么办。
软件环境:Win10、Goland。
去版本:go1.9.1 windows/amd64。protoc --version: libprotoc 3.5.1 当我执行命令时。结果如下
protoc -I . --go_out=plugins=grpc: . proto/hello/hello.proto
.: Permission denied
我试图以管理员身份运行。我可以完全控制所有文件。现在我该怎么办。
我遇到过同样的问题。
我发现错误消息具有误导性。
这对我有用:
改变这个:
protoc -I . --go_out=plugins=grpc: . proto/hello/hello.proto
对此:
protoc ./proto/hello/hello.proto --go_out=plugins=grpc:./outputDirectory -I ./proto/hello/hello.proto
该命令的某些部分显然看起来是多余的,但这是我必须做的才能让它工作。我建议尝试一下,看看它是否运行。如果是这样,那么你可以看看你是否能够调整它,但我不这么认为。
您绝对不应该将“proto/hello/hello.proto”作为输出,因为这实际上是您的输入文件。如果 ”。” 是你的输出,然后这样做:
protoc ./proto/hello/hello.proto --go_out=plugins=grpc:. -I ./proto/hello/hello.proto
请注意,您不需要空间。
为我工作:实际上已经存在的 hello.pg.go 必须被删除,因为即使给予完全访问权限,它也不允许被覆盖......在删除 hello.pb.go 和编译 .protoc 之后再次文件,出现一个新的 .pb.go 文件,现在可以通过以下命令多次覆盖它: protoc -I proto/ hello/hello.proto --go_out=plugins=grpc:hello
我还收到了 Windows 中 protoc 拒绝的权限。我还能够根据@sohaib-anwaar 的注释生成单个文件
这个批处理脚本通过逐个迭代文件并发出 protoc 命令来节省大量输入。
for %i in (object_detection\protos\*.proto) do protoc object_detection\protos\%~nxi --python_out=.
执行后匹配的 *_pb2.py 文件将在 object_detection\protos 文件夹中找到。
该命令似乎格式不正确。如https://grpc.io/docs/tutorials/basic/go.html所述,格式如下 -
protoc -I routeguide/ routeguide/route_guide.proto --go_out=plugins=grpc:routeguide