【问题标题】:Go, how to import package from github and build without go getGo,如何从 github 导入包并在没有 go get 的情况下构建
【发布时间】:2016-02-23 07:15:57
【问题描述】:

我需要从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 get'?

标签: github go package


【解决方案1】:

如果你不想将你的 go 项目依赖添加到全局 GOPATH,你可以 vendor 它。 (推荐去 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 本身可能有其他依赖项,您需要以类似的方式添加(在同一个供应商文件夹中)

【讨论】:

    【解决方案2】:

    如果你的项目是由仓库决定的,比如github, 当初始的“go install”将是“go get”时,即使是 packageX。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-21
      • 1970-01-01
      • 2017-08-28
      • 2018-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多