首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >golang "go get“拉取了很多依赖项。甚至尝试去找-d。/...失败,并表示它需要更多依赖项

golang "go get“拉取了很多依赖项。甚至尝试去找-d。/...失败,并表示它需要更多依赖项
EN

Stack Overflow用户
提问于 2019-10-03 10:35:51
回答 2查看 893关注 0票数 0

我正在尝试为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。/...

代码语言:javascript
复制
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
}

代码应该会被编译。

EN

回答 2

Stack Overflow用户

发布于 2019-10-03 17:20:40

当我们谈论Go 1.12时,你可能会使用mod,否则,这是一个很好的时机来使用它。

因此,使用mod时,您需要执行以下操作:将GO111MODULE环境变量设置为"on"

代码语言:javascript
复制
export GO111MODULE=on

然后,您需要启动一个模块

代码语言:javascript
复制
go mod init <module_name>

该名称可以包括GitHub路径,也可以只是一个名称,如go-superlib等。

然后,mod将检查所有模块.go文件,并创建依赖项列表。你只需要做一个

代码语言:javascript
复制
go get

然后go mod会为你做所有的事。

附言:不要试图安装golang.org/x/... -它真的很大。

票数 0
EN

Stack Overflow用户

发布于 2019-10-04 20:47:43

我的项目结构如下-

/User/xxxx/projects/projectname所有项目所在的位置。GOPATH设置为/User/xxxx/projects/projectname。Makefile放在这里。然后我有一个"src“目录,在它下面是"server”目录。"server“目录中有包含”Server.go“的主目录。在服务器目录下还有其他的包。其中之一是"cloud“,它有一个导入的go文件。

代码语言:javascript
复制
"golang.org/x/net/context"   "golang.org/x/oauth2/google" 

现在我的困惑是,这个go.mod应该放在哪里,我应该从哪里执行go mod?即使在设置了GO111MODULE=on之后,我也会收到错误

go:无法确定源目录/Users/xxx的模块路径(在GOPATH之外,没有导入注释)

我还没有在网上找到合适的文档。他们都在谈论创建一个目录和添加一个main.go。导入一些第三方,只需构建即可。这无济于事。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58211610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档