去,如何从github导入包并构建而不去获取

时间:2016-02-23 07:15:57

标签: github go package

我需要将外部包从github“int a = 0; int b = 0; scanf("%d", &a); skip_line_cool_function(); scanf("%d", &b); printf("You have just entered: &d and &d", a, b); ”导入github.com/xy/packageX。所以我将导入“MyProject/src/myProjcet.go”添加到github.com/xy/packageX。如果我运行go build,我会得到:

myProject.go

所以我必须运行myProject.go:9:2: import “github.com/xy/packageX”: cannot find package ,然后运行go get 有没有办法,如何在不使用go build的情况下构建它?或者我应该将其下载到go get并将此链接添加到MyProject/pkg?我在Xubuntu 14.04上。

2 个答案:

答案 0 :(得分:3)

如果您不想将您的项目依赖项添加到全局GOPATH,您可以提供它。 (建议使用1.6+:参见" Vendor Directories")

转到使用该导入的包,并将其作为子模块添加到供应商子文件夹中。

cd GOPATH/src/myproject/mypackage
git submodule add -- https://github.com/<user>/<repo> vendor/github.com/<user>/<repo>
cd vendor/github.com/<user>/<repo>
go install
cd ../../../..
go install

注意:repo可能有自己的其他依赖项,您需要以类似的方式添加(在同一供应商文件夹中)

答案 1 :(得分:0)

如果您的项目由存储库决定,例如github, 当最初的“go install”将是“go get”,即使是packageX。