我为什么得到:“-grpc_out:protoc-gen-grpc:系统找不到指定的路径。”信息?

时间:2018-11-05 16:34:53

标签: cmd grpc

我正在关注本C# Quickstart gRPC教程。我来到this step,在这里我必须使用以下命令来生成gRPC代码:

%UserProfile%\.nuget\packages\Grpc.Tools.1.15.0\tools\windows_x86\protoc.exe -I../../protos --csharp_out Greeter --grpc_out Greeter ../../protos/helloworld.proto --plugin=protoc-gen-grpc=%UserProfile%\.nuget\packages\packages\Grpc.Tools.1.15.0\tools\windows_x86\grpc_csharp_plugin.exe

它不起作用,运行上面的命令后,我在终端中得到的是这样:

  

-grpc_out:protoc-gen-grpc:系统找不到指定的路径。

我不知道为什么系统无法找到该路径,因为我已经更改了命令中的路径,使其指向需要执行的文件。

3 个答案:

答案 0 :(得分:0)

您可以尝试将绝对路径传递到--plugin=protoc-gen-grpc=吗?

答案 1 :(得分:0)

我遇到了同样的问题,并且出现此错误“找不到路径”,并且您的名字也包含特殊字符,我怀疑非ASCII路径存在问题! 碰巧我的Windows用户名中有一个特殊字符“ë”

您应该创建一个github问题,但是这里有一些快速修复:

这里有2个解决此问题的解决方案

  1. 创建一个不带特殊字符的新用户并使用此帐户
  2. 更艰难,更危险的道路,但我自己做了什么:使用以下方法https://winaero.com/blog/rename-user-profile-folder-windows-10/重命名您的用户帐户以删除特殊字符

答案 2 :(得分:0)

我考虑了迈克尔的回答。但是,使用不同的用户帐户不是一个选项,我无法重命名我的用户帐户,因为它是 Azure AD 用户,因此在本地用户的 Windows 列表中没有我将更改其文件夹位置的条目注册表。

为我做的解决方法是change the location of the global packages folder