gpt4 book ai didi

从源代码构建一个go项目

转载 作者:IT王子 更新时间:2023-10-29 01:34:05 25 4
gpt4 key购买 nike

如何从源代码构建 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/Cellar/go/1.2 中,链接从 /usr/local/Cellar/go/1.2/bin/go/usr/local/bin/go

最佳答案

您需要正确配置 GOPATH。有时,一个项目不必在它期望的“子路径”中 check out ,但它通常会这样做,而且依赖它的东西肯定会期望在那里找到它。所以你可以不用“go get”

mkdir -p /tmp/go/src
export GOPATH=/tmp/go
cd $GOPATH/src
mkdir -p github.com/kr/godep
cd github.com/kr/godep/..
git clone http://github.com/kr/godep.git
cd godep
go build

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

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”。 :-)

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

关于从源代码构建一个go项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20335145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com