【问题标题】:go get fails with "no buildable Go source files found in github.com/..."go get 失败,“在 github.com/ 中找不到可构建的 Go 源文件...”
【发布时间】:2016-09-25 15:00:41
【问题描述】:

我正在尝试构建一个 docker 容器,我可以在其中构建我的 GAE go 应用程序。我稍后会在 gitlab.com 中使用这个容器。

我有一个安装了最新的 golang-gae-sdk 的容器。 当我尝试构建它时,我在我的项目根目录 (/project) 中:

goapp build ./...

它得到这个响应:

/project/src/github.com/gorilla/mux 中没有可构建的 Go 源文件

当我尝试获取包裹时:

goapp get ./...

我得到了和以前一样的回复。 构建它的唯一方法是删除 github.com 文件夹。但是这不应该在存储库中以在我的 git 存储库中拥有正确版本的依赖项。

谁能帮助我或解释一下这是如何工作的?

【问题讨论】:

  • 更多信息:我正在 windows 上开发并尝试在 docker 容器中构建。
  • 我发现没有将文件夹 github.com/gorilla/mux 的文件推送到存储库中,因为该文件夹包含一个 .git 文件夹。为什么它包含这样一个文件夹?处理此导入并使存储库可开箱即用的最佳做法是什么?

标签: google-app-engine go docker gitlab-ci


【解决方案1】:

我遇到了类似的问题,尽管 go 已正确安装并且所有源文件都存在,但我无法构建。

在我的情况下,操作系统使用的 go 版本比源要求的旧版本。您可以通过以下方式检查版本:

go --version

在您的 /project/src/github.com/gorilla/mux 目录中,查看主源文件的第一行。它可能包含这样的一行:

// +build go1.5

这个例如意味着您至少需要 go 1.5 来构建。就我而言,ubuntu 使用的是位于

的旧版本
whereis go

我删除了旧的二进制文件夹(可能是你不应该做的事情)并从头开始重新安装,这给了我正确的版本并且构建工作正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-22
    • 2021-12-17
    • 1970-01-01
    • 2020-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多