【发布时间】:2017-02-18 06:29:06
【问题描述】:
我正在尝试将 Go vendoring(将依赖项存储在名为 vendor 的文件夹中)引入现有的 App Engine 项目。我已将所有依赖项存储在供应商文件夹中(使用 Godep 作为帮助程序),它看起来正确,但在本地运行应用程序时出现以下错误:
go-app-builder: Failed parsing input: package "golang.org/x/net/context" is imported from multiple locations: "/Users/erik/go/src/github.com/xyz/abc/vendor/golang.org/x/net/context" and "/Users/erik/go/src/golang.org/x/net/context"
我相信这两个位置应该解析到同一个位置,因为 Go 应用程序应该首先查看 vendor 文件夹。有没有办法让 Appengine 明白这两个依赖项是一样的?
【问题讨论】:
-
我过去见过这个问题,通常通过确保我正在构建的存储库的所有
vendor目录都正确设置来解决。您正在运行导致此错误的命令是什么? -
错误来自 dev_appserver.py。假设供应商目录设置不正确似乎是合理的,但是您有什么线索吗?对我来说它看起来不错,我们的单元测试运行没有任何问题。
-
据我了解,
go-app-builder工具的工作方式与标准 go 工具略有不同,以促进 App Engine 特定的构建,所以这可能就是您看到行为。您使用的是什么版本的 SDK?
标签: google-app-engine go