登录
首页 >  Golang >  Go问答

Golang的"Go Get"命令会触发大量依赖项拉取,即使尝试使用"go get -d ./..."也无法避免,且需要更多依赖项

来源:stackoverflow

时间:2024-03-05 23:36:31 156浏览 收藏

Golang不知道大家是否熟悉?今天我将给大家介绍《Golang的"Go Get"命令会触发大量依赖项拉取,即使尝试使用"go get -d ./..."也无法避免,且需要更多依赖项》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

问题内容

我正在尝试为谷歌云编写云api,并且刚刚导入了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
}

代码应该可以编译。


解决方案


当我们谈论 go 1.12 时,您可能会使用 mod,否则,现在是迁移到它的好时机。

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

export go111module=on

然后你需要启动一个模块

go mod init 

名称可以包含 github 路径,或者只是 go-superlib 等名称。

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

go get

然后 go mod 将为你做一切。

p.s.:不要尝试安装 golang.org/x/... - 它真的很大。

到这里,我们也就讲完了《Golang的"Go Get"命令会触发大量依赖项拉取,即使尝试使用"go get -d ./..."也无法避免,且需要更多依赖项》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>