github - Go,如何从 github 导入包并在不使用 go get 的情况下构建

标签 github go package

我需要将外部包从github“github.com/xy/packageX”导入到MyProject/src/myProjcet.go。因此,我将导入“github.com/xy/packageX”添加到myProject.go。如果我运行 go build,我会得到:

myProject.go:9:2: import “github.com/xy/packageX”: cannot find package

所以我必须运行go get,然后go build
有没有办法,如何在不使用 go get 的情况下构建它?或者我应该将其下载到 MyProject/pkg 并将此链接添加到 myProject.go 吗?我使用的是 Xubuntu 14.04。

最佳答案

如果您不想将 Go 项目依赖项添加到全局 GOPATH,您可以 vendor 它。 (推荐使用 1.6+:请参阅“Vendor Directories ”)

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

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

注意:该存储库本身可能有其他依赖项,您需要以类似的方式添加这些依赖项(在同一 vendor 文件夹中)

关于github - Go,如何从 github 导入包并在不使用 go get 的情况下构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35571079/

相关文章:

file - dart 中的 lib/src 和/bin 有什么区别?

Git 克隆导致 : "Cannot get remote repository information."

mysql - 将 Go var 传递到 MySQL - 尝试在 Go lang 程序(MySQL db)中执行 db.Exec 时出错

go - 将命令行字符串解析为 Golang 中的标志和参数

json - 如何通过结构重新格式化 JSON?

go - 带有 $lookup 查询的 MGO 管道不会附加来自 "joined"集合的匹配文档

oracle - 什么情况导致Oracle软件包无效?

linux - 删除目录内的文件而不是整个目录

git - 将 Git 分支提升为 master

git - Jenkins 全局管道配置 - GitHub 帐户问题