could not import google.golang.org/protobuf/proto

背景

import (
	"encoding/json"
	"testing"

	"google.golang.org/protobuf/proto"
)

在测试中需要使用proto,但是,import这个包之后,一直报could not import google.golang.org/protobuf/proto这个错误,尝试了各种方法,依然没有解决这个问题。

临时方案

执行go mod vendor这个命令。项目的目录下多了个文件夹。

- 原理 :该命令会将 go.mod 中声明的所有依赖(包括 google.golang.org/protobuf@v1.30.0 )复制到项目根目录下的 vendor 文件夹中 `vendor` 。
- 效果 :
- 构建时Go编译器会优先使用 vendor 目录中的依赖,避免了模块缓存( $GOPATH/pkg/mod )或网络下载可能导致的版本不一致问题。
- 从终端输出可见,编译器实际加载的是 vendor 目录中的protobuf代码。

疑问

问题本身并没有解决。有没有哪位大神遇到过类似的情况呢?无法理解,始终无法解决这个问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值