我正在尝试构建一个 docker 容器,我可以在其中构建我的 GAE go 应用程序。我稍后将使用此容器 gitlab.com。
我有一个安装了最新 golang-gae-sdk 的容器。当我尝试构建它时,我在我的项目根目录 (/project) 中:
goapp build ./...
它得到以下响应:
在/project/src/github.com/gorilla/mux 中没有可构建的 Go 源文件
当我尝试获取软件包时:
goapp get ./...
我得到的回应和以前一样。构建它的唯一方法是删除 github.com 文件夹。但这不应该在存储库中在我的 git 存储库中拥有正确版本的依赖项。
谁能帮助我或解释一下这是如何工作的?
我遇到了类似的问题,尽管 go 安装正确并且存在所有源文件,但我无法构建。
就我而言,操作系统使用的 go 版本比源要求的要旧。您可以使用以下命令检查版本:
go --version
在/project/src/github.com/gorilla/mux 目录中,查看主源文件的第一行。它可以包含如下行:
// +build go1.5
例如,这意味着您至少需要 go 1.5 来构建。在我的情况下,ubuntu使用的是位于以下位置的旧版本
whereis go
我删除了旧的二进制文件夹(可能是你不应该做的事情)并从头开始重新安装,这给了我正确的版本并且构建工作正常。