如何使golang不混淆供应商进口和绝对进口?

如何使golang不混淆供应商进口和绝对进口?,go,terraform,alibaba-cloud,Go,Terraform,Alibaba Cloud,我不明白这个错误是什么意思,但我认为它在绝对路径中的包和在供应商路径中的包之间混淆了。我如何使它不混乱 #github.com/GoogleCloudPlatform/terraformer/providers/alicloud providers/aliyun/dum.go:10:35:无法将func-literal(类型func(*“github.com/aliyun/aliyun-oss-go-sdk/oss.Client)(接口{},错误))作为func(*“github.com/ter

我不明白这个错误是什么意思,但我认为它在绝对路径中的包和在供应商路径中的包之间混淆了。我如何使它不混乱

#github.com/GoogleCloudPlatform/terraformer/providers/alicloud
providers/aliyun/dum.go:10:35:无法将func-literal(类型func(*“github.com/aliyun/aliyun-oss-go-sdk/oss.Client)(接口{},错误))作为func(*“github.com/terraform-providers/terraform-provider-aliyun/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss.Client)(接口{},错误)类型在对Client.WithOssClient的参数中使用
这是最小的可复制代码

package-dum
进口(
oss“github.com/aliyun/aliyun oss go sdk/oss”
“github.com/terraform providers/terraform provider alicloud/alicloud/connectivity”
)
func dum()错误{
客户端:=连接性。AliyunClient{}
raw,err:=client.WithOssClient(func(ossClient*oss.client)(接口{},错误){
返回ossClient.listbackes()
})
如果错误!=零{
返回错误
}
println(原始)
归零
}
编辑:解决方案

go-mod供应商
开始构建-v

编译器无法用github.com/terraform providers/terraform provider-alicloud/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss.Client替换“github.com/aliyun/aliyun-oss-go-sdk/oss”.

该错误意味着这两种类型虽然相当,但由于它们位于不同的包中,因此被视为不同的。要使代码正常工作,您可以从
github.com/terraform providers/terraform provider alicloud/vendor/…
路径导入
oss
。或者让您的应用程序供应商同时
连接
oss

该错误意味着这两种类型虽然相同,但由于它们位于不同的包中,因此被视为不同的类型。要使代码正常工作,您可以从
github.com/terraform providers/terraform provider alicloud/vendor/…
路径导入
oss
。或者让您的应用程序供应商同时连接vity
oss
@mkopriva如果你想发布一个答案,并参考相关文档来充实它,这似乎就足够了。@mkopriva Vendoring两者都起作用。
go mod vendor
go build-v
你能添加这个作为答案吗,我会接受的。