我正在尝试为google cloud编写云apis,并且刚刚导入了2个包"golang.org/x/net/context“"golang.org/x/oauth2/google”
当我尝试去做go get时,它失败了,说缺少包。所以我试着做"go get -f ./...“我也尝试去获取它需要的所有东西,但依赖关系永远不会结束,而且我的src文件夹中加载了很多包。不知道为什么它会拉这么多。请帮帮忙。
在Go 1.12中有什么变化吗?在此之前,我使用的是旧版本的Golang。谢谢
去获取golang.org/x/...去找-d。/...
import (
"fmt"
"golang.org/x/net/context"
"golang.org/x/oauth2/google"
"google.golang.org/api/compute/v1"
)
func Test() bool{
projects := [...]string{
"xxxx",
}
ctx := context.Background()
client, err := google.DefaultClient(ctx,compute.ComputeScope)
if err != nil {
fmt.Println(err)
}
return true
}代码应该会被编译。
发布于 2019-10-03 17:20:40
当我们谈论Go 1.12时,你可能会使用mod,否则,这是一个很好的时机来使用它。
因此,使用mod时,您需要执行以下操作:将GO111MODULE环境变量设置为"on"。
export GO111MODULE=on然后,您需要启动一个模块
go mod init <module_name>该名称可以包括GitHub路径,也可以只是一个名称,如go-superlib等。
然后,mod将检查所有模块.go文件,并创建依赖项列表。你只需要做一个
go get然后go mod会为你做所有的事。
附言:不要试图安装golang.org/x/... -它真的很大。
发布于 2019-10-04 20:47:43
我的项目结构如下-
/User/xxxx/projects/projectname所有项目所在的位置。GOPATH设置为/User/xxxx/projects/projectname。Makefile放在这里。然后我有一个"src“目录,在它下面是"server”目录。"server“目录中有包含”Server.go“的主目录。在服务器目录下还有其他的包。其中之一是"cloud“,它有一个导入的go文件。
"golang.org/x/net/context" "golang.org/x/oauth2/google" 现在我的困惑是,这个go.mod应该放在哪里,我应该从哪里执行go mod?即使在设置了GO111MODULE=on之后,我也会收到错误
go:无法确定源目录/Users/xxx的模块路径(在GOPATH之外,没有导入注释)
我还没有在网上找到合适的文档。他们都在谈论创建一个目录和添加一个main.go。导入一些第三方,只需构建即可。这无济于事。
https://stackoverflow.com/questions/58211610
复制相似问题