golang 如何获取所有依赖?

2015-11-23 18:07:32 +08:00
 firefox12
我想编译一个 go 项目

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

比如 kubernetes

https://github.com/kubernetes/kubernetes

我现在知道的是去每个子目录下面去运行 go get?
14493 次点击
所在节点    程序员
21 条回复
Shadas
2015-11-23 18:09:41 +08:00
是 go get ... 嘛?
holmesabc
2015-11-23 18:12:56 +08:00
那你直接 go get github.com/kubernetes/kubernetes
不要自己 git clone 呗
w3hacker
2015-11-23 18:24:21 +08:00
go get ./...
carmark
2015-11-23 19:19:07 +08:00
godep 呀, kubernetes 就是用 godep 管理的。


针对 k8s 这么庞大的项目,还是用它给的默认的编译脚本吧。
firefox12
2015-11-23 22:07:11 +08:00
[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
2015-11-23 22:50:27 +08:00
在不考虑 GFW 的情况下.........!!!go get 是会自动下所有依赖的
firefox12
2015-11-23 23:32:02 +08:00
我的服务器在国外 不存在 gfw 的问题 虽然只是个 vps,网络没有问题
u
2015-11-23 23:44:14 +08:00
唉 正好这几天也在编译 K8S ,国内的网络环境,蛋疼死了

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


@carmark
@firefox12
firefox12
2015-11-23 23:49:43 +08:00
国外直接获取的

但是 gopkg 里面的 fnotify 是手动改的 这个是 docker 的编译,可惜 也没编过。因为 vps 上没有 docker
carmark
2015-11-24 09:17:27 +08:00
@u

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

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

如果你想试用 kubernetes ,你可以直接 hack/build-go.sh ,这是编译代码,然后在单 node 上面运行 hack/local-up-cluster.sh ,这样你就可以用 kubectl 了。
janxin
2015-11-24 09:42:55 +08:00
@u 把代码手工翻墙下载,放在指定的文件夹下,$GOPATH/src/golang.org/x/...下面就行了
windyboy
2015-11-24 09:53:57 +08:00
golang.org/x 的包,可以从 github.com 的镜像直接 clone 进去
u
2015-11-24 21:54:30 +08:00
@janxin
@windyboy
谢谢,不过编译 kubernetes 有些特殊,目前做的这个需要在每个 container 中都手动指定包,还是有些麻烦
u
2015-11-24 21:55:28 +08:00
@carmark 最后在前面插了一个安了 SS 的路由器,终于搞定了
janxin
2015-11-24 23:56:47 +08:00
@u 虽然没编译过,但是所谓的每个 container 指定包是什么意思? kubernetes 不是一个管理工具么?
u
2015-11-25 00:05:33 +08:00
@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
2015-11-25 00:33:53 +08:00
@u 看了一下步骤没有吧,只是有个 build mac 或者是 linux 的 binary 。 build locally 的话应该没有问题吧,具体卡在哪一步了?
u
2015-11-25 01:13:39 +08:00
@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
2015-11-25 01:15:24 +08:00
u
2015-11-25 01:16:15 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/238317

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX