Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Build 从源代码构建go项目_Build_Go - Fatal编程技术网

Build 从源代码构建go项目

Build 从源代码构建go项目,build,go,Build,Go,如何从源代码构建Go项目,而不是使用Go-get-domain.com/dir/project?例如,代替 获取github.com/kr/godep 我想从源代码构建: git clone https://github.com/kr/godep.git cd godep GOPATH=/tmp/godep go build 上述命令将导致 dep.go:4:2: cannot find package "code.google.com/p/go.tools/go/vcs" in any of

如何从源代码构建Go项目,而不是使用
Go-get-domain.com/dir/project
?例如,代替

获取github.com/kr/godep

我想从源代码构建:

git clone https://github.com/kr/godep.git
cd godep
GOPATH=/tmp/godep go build
上述命令将导致

dep.go:4:2: cannot find package "code.google.com/p/go.tools/go/vcs" in any of:
    /usr/local/Cellar/go/1.2/libexec/src/pkg/code.google.com/p/go.tools/go/vcs (from $GOROOT)
    /Users/hanxue/Source/godep/godep/src/code.google.com/p/go.tools/go/vcs (from $GOPATH)
save.go:5:2: cannot find package "github.com/kr/fs" in any of:
    /usr/local/Cellar/go/1.2/libexec/src/pkg/github.com/kr/fs (from $GOROOT)
    /Users/hanxue/Source/godep/godep/src/github.com/kr/fs (from $GOPATH)

注意:go 1.2安装在/usr/local/ceral/go/1.2中,带有一个从
/usr/local/ceral/go/1.2/bin/go
/usr/local/bin/go
的链接。您需要正确配置GOPATH。有时项目不必在它期望的“子路径”中签出,但通常它会签出,并且依赖它的东西肯定会在那里找到它。所以你可以不用“去拿”了

。。。现在冲洗并重复每个依赖项

cd $GOPATH/src
mkdir -p code.google.com/p/
cd code.google.com/p
hg clone https://code.google.com/p/go.tools/
是的,vcs依赖项位于“go.tools”中,需要使用hg进行克隆。我花了点时间浏览网页才弄明白。好吧,我想你可以明白为什么用手这么做很烦人

我将剩下的依赖项留给读者作为练习,或者您可以使用“go get”。-)


一个可能是您真正想要的额外提示:签出第一个项目后,您可以使用该目录中的“go get”下载项目的依赖项。有时,如果你有一些不“go get'able”的东西,如果依赖项是有用的。

你必须手动安装所有依赖项,如
code.google.com/p/go.tools/go/vcs
,小心设置
GOPATH
@hanxue只是好奇,使用go get有什么问题?@nemo没什么问题,事实上,这是构建go项目的最佳方式。我想从源代码构建,这样我就可以创建一个自制程序formula@hanxue啊,这就解释了。谢谢你的澄清。
cd $GOPATH/src
mkdir -p code.google.com/p/
cd code.google.com/p
hg clone https://code.google.com/p/go.tools/