• 请不要在回答技术问题时复制粘贴 AI 生成的内容
firefox12
V2EX  ›  程序员

golang 如何获取所有依赖?

  •  
  •   firefox12 · Nov 23, 2015 · 15311 views
    This topic created in 4006 days ago, the information mentioned may be changed or developed.
    我想编译一个 go 项目

    应该如何获取所有的 go 的依赖源码呢?

    比如 kubernetes

    https://github.com/kubernetes/kubernetes

    我现在知道的是去每个子目录下面去运行 go get?
    21 replies  •  2015-11-26 14:10:59 +08:00
    Shadas
    Shadas
    Nov 23, 2015
    1
    是 go get ... 嘛?
    holmesabc
    holmesabc
    Nov 23, 2015
    2
    那你直接 go get github.com/kubernetes/kubernetes
    不要自己 git clone 呗
    w3hacker
    w3hacker
    Nov 23, 2015
    3
    go get ./...
    carmark
    carmark
    Nov 23, 2015
    4
    godep 呀, kubernetes 就是用 godep 管理的。


    针对 k8s 这么庞大的项目,还是用它给的默认的编译脚本吧。
    firefox12
    firefox12
    OP
    Nov 23, 2015
    5
    [root@default godep]# ./godep get github.com/kubernetes/kubernetes
    package github.com/kubernetes/kubernetes
    imports github.com/kubernetes/kubernetes
    imports github.com/kubernetes/kubernetes: no buildable Go source files in /root/go2/src/github.com/kubernetes/kubernetes
    godep: exit status 1
    hst001
    hst001
    Nov 23, 2015
    6
    在不考虑 GFW 的情况下.........!!!go get 是会自动下所有依赖的
    firefox12
    firefox12
    OP
    Nov 23, 2015
    7
    我的服务器在国外 不存在 gfw 的问题 虽然只是个 vps,网络没有问题
    u
    u
    Nov 23, 2015
    8
    唉 正好这几天也在编译 K8S ,国内的网络环境,蛋疼死了

    顺便请教一下,默认脚本是从 golang.org/x 获取包的,被 qiang 了,如何改成 github 上 go 的地址?刚接触 go 语言,不太会。。。


    @carmark
    @firefox12
    firefox12
    firefox12
    OP
    Nov 23, 2015
    9
    国外直接获取的

    但是 gopkg 里面的 fnotify 是手动改的 这个是 docker 的编译,可惜 也没编过。因为 vps 上没有 docker
    carmark
    carmark
    Nov 24, 2015
    10
    @u

    这个貌似没有太好的办法,我是直接翻墙编译的。

    你想这么干的话,估计你只能改代码了,但是有点多,反正不太好办。

    如果你想试用 kubernetes ,你可以直接 hack/build-go.sh ,这是编译代码,然后在单 node 上面运行 hack/local-up-cluster.sh ,这样你就可以用 kubectl 了。
    janxin
    janxin
    Nov 24, 2015
    11
    @u 把代码手工翻墙下载,放在指定的文件夹下,$GOPATH/src/golang.org/x/...下面就行了
    windyboy
    windyboy
    Nov 24, 2015
    12
    golang.org/x 的包,可以从 github.com 的镜像直接 clone 进去
    u
    u
    Nov 24, 2015
    13
    @janxin
    @windyboy
    谢谢,不过编译 kubernetes 有些特殊,目前做的这个需要在每个 container 中都手动指定包,还是有些麻烦
    u
    u
    Nov 24, 2015
    14
    @carmark 最后在前面插了一个安了 SS 的路由器,终于搞定了
    janxin
    janxin
    Nov 24, 2015
    15
    @u 虽然没编译过,但是所谓的每个 container 指定包是什么意思? kubernetes 不是一个管理工具么?
    u
    u
    Nov 25, 2015
    16
    @janxin 抱歉没说清楚,我是按照这篇 doc 进行的,主要是测试 K8S 和 Mesos 的集成:

    Getting Started With Kubernetes on Mesos on Docker

    https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/getting-started-guides/mesos-docker.md
    janxin
    janxin
    Nov 25, 2015
    17
    @u 看了一下步骤没有吧,只是有个 build mac 或者是 linux 的 binary 。 build locally 的话应该没有问题吧,具体卡在哪一步了?
    u
    u
    Nov 25, 2015
    18
    @janxin 直接执行第二步的话,出错的信息是:

    <script src="https://gist.github.com/anonymous/72c25d69a1a54be52c77.js"></script>

    build locally 是直接在 kubernetes 的目录中执行么?报错的信息是:

    <script src="https://gist.github.com/anonymous/b0cab8cc1a3db2ab4ffd.js"></script>
    u
    u
    Nov 25, 2015
    19
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4675 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 06:23 · PVG 14:23 · LAX 22:23 · JFK 01:23
    ♥ Do have faith in what you're doing.