go grpc:无法导入github.com/golang/protobuf/proto(没有必需的模块提供包“github.com/golang/protobuf/proto”)

php小编子墨在使用go grpc时遇到了一个错误,提示无法导入”github.com/golang/protobuf/proto”模块。这个错误通常是因为缺少必需的模块导致的。在使用go grpc之前,我们需要确保已经正确安装了protobuf库,并在代码中正确导入了相关的proto包。接下来,我将为大家详细介绍如何解决这个问题。,当“protoc –proto_path=proto proto/*.proto –go_out=plugins”时,proto 文件正在导入“github.com/golang/protobuf/proto”而不是“google.golang.org/protobuf/proto” =grpc:pb”命令,导入文件,我的原型文件,~go/bin/protoc-gen-go-grpc 有版本,我做了什么,初始安装,$ go install google.golang.org/protobuf/cmd/[电子邮件受保护],$ go install google.golang.org/grpc/cmd/[电子邮件受保护],在安装新软件包之前输入go clean -modcache,并使用注释@latest重新安装最新版本,go 版本:Ubuntu 20.4 上的 go 版本 go1.21.1 linux/amd64,协议–版本
libprotoc 3.6.1,使用 apt 安装了 protobuf-compiler 和 golang-goprotobuf,我觉得问题就在这里,但我不知道要修复什么或如何阅读此内容,编辑:我想我最初使用 go get -u github.com/golang/protobuf/proto 安装了它,但我使用 rm -rf $(go env GOPATH)/pkg/mod/github.com/golang 删除了二进制文件/protobuf/proto 并使用 go install google.golang.org/protobuf/cmd/protoc-gen-go@latest 安装新版本并 go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@最新的。它仍然使用旧导入生成 go 文件,Edit2:找不到 protoc-gen-go –version,但 protoc-gen-go-grpc –version 是 1.2.0。 protoc –版本是 libprotoc 3.6.1
whereis 协议-gen-go
protoc-gen-go:/usr/bin/protoc-gen-go /home/hp/go/bin/protoc-gen-go /usr/share/man/man1/protoc-gen-go.1.gz,正如https://www.php.cn/link/a5481cd6d7517aa3fc6476dc7d9019ab 作者:@puellanivis,Linux 环境中的 $PATH 变量应以 /home/{username}/go/bin 开头,然后按顺序以 /usr/bin 开头。这是因为我们需要在 /usr/bin/protoc-gen-go 之前找到 google.golang.org/gprc/cmd/protoc-gen-go-grpc@latest。,编辑 ~/.bashrc~/.bash_profile 文件 ($vim ~/.bashrc) 并手动导出整个路径环境。就我而言,我必须添加,
返回顶部
跳到底部

Copyright 2011-2024 南京追名网络科技有限公司 苏ICP备2023031119号-6 乌徒帮 All Rights Reserved Powered by Z-BlogPHP Theme By open开发

请先 登录 再评论,若不是会员请先 注册