" goapp build"有效,但" appcfg.py更新"只是"无法找到导入" ...?

时间:2016-08-23 15:48:42

标签: google-app-engine go

昨晚更新Google App Engine SDK后... go envgoapp env都有正确的GOPATH和GOROOT,go buildgoapp build都有效,但appcfg.py update ...会返回每个第三方包都丢失。< / p>

即使我为每个包再次运行goapp get ...go get ...,也没有任何区别,因为他们已经在GOPATH中了。只有这一点才能通过两个命令构建项目来确认。

可能有什么不对? :(

编辑:每次运行时都会产生不同的错误appcfg.py update . ......

  

main.go:4:无法找到导入:&#34; github.com/gin-gonic/gin"   github.com/gin-gonic/gin/binding/default_validator.go:7:找不到   import:&#34; gopkg.in/go-playground/validator.v8"   github.com/gin-gonic/gin/context.go:17:无法找到导入:   &#34; github.com/gin-gonic/gin/binding"

...尽管他们已经在那里,但仍然goapp get ...

  

main.go:4:无法找到导入:&#34; github.com/gin-gonic/gin"   github.com/gin-gonic/contrib/gzip/gzip.go:9:无法找到导入:   &#34; github.com/gin-gonic/gin" github.com/gin-gonic/gin/render/yaml.go:10:   无法找到导入:&#34; gopkg.in/yaml.v2"

...重复,再次对所有这些进行goapp get ...

  

main.go:4:无法找到导入:&#34; github.com/gin-gonic/gin"   github.com/gin-gonic/gin/render/yaml.go:10:无法找到导入:   &#34; gopkg.in/yaml.v2"

没有任何意义。图书馆已经存在。我可以goapp build这样做有效,但我无法部署。

所有这些都在&#34; ---开始服务器输出---&#34;和&#34; ---终端服务器输出---&#34;包装......这是服务器端问题吗?

2 个答案:

答案 0 :(得分:1)

这是在推出期间捕获并解决了App Engine SDK for Go的已知问题。它是公开的追踪者Issue 13230。这应该不再有效了。

一个重要的注意事项,正如documentation中所述,不应在Go GAE应用程序中实现main()函数,因为行为是unspecified

如果仍有人遇到此问题,请在App Engine public issue tracker上提交新的缺陷报告,并将其链接回Issue 13230以获取相关信息。

答案 1 :(得分:0)

https://groups.google.com/forum/#!topic/google-appengine-go/rVHZXlSfC7E ...如其他用户所述,这是Google App Engine的临时问题。

可以通过在项目的主程序包中注释掉main()方法来解决。通常情况下,使用init(),因此除了在同时部署到其他平台或在本地构建非App Engine执行时出现轻微不便之外,目前不会引起任何其他问题。