“gcloud app deploy”命令选择了错误的GOPATH

时间:2018-06-03 12:30:45

标签: google-app-engine go google-cloud-sql gopath

尝试使用gcloud app deploy使用Cloud SQL部署我的GO应用程序,但每次发现包找不到错误时,构建都会失败。不知道从哪里挑选GOPATH。是否可以更改Google云引擎中的GOPATH

  Step #0: main.go:9:2: cannot find package "github.com/gin-gonic/gin"
  in any of: Step #0:   /usr/local/go/src/github.com/gin-gonic/gin (from
  $GOROOT) Step #0:     /workspace/_gopath/src/github.com/gin-gonic/gin
  (from $GOPATH) Step #0: main.go:10:2: cannot find package
  "github.com/go-sql-driver/mysql" in any of: Step #0:
    /usr/local/go/src/github.com/go-sql-driver/mysql (from $GOROOT) Step
  #0:   /workspace/_gopath/src/github.com/go-sql-driver/mysql (from $GOPATH) Step #0: main.go:8:2: cannot find package
  "google.golang.org/appengine" in any of: Step #0:
    /usr/local/go/src/google.golang.org/appengine (from $GOROOT) Step #0:
    /workspace/_gopath/src/google.golang.org/appengine (from $GOPATH)

我有import语句包含上面的库。我的本地GOPATH设置为/Users/amar.jain/go/,并且正在尝试使用/workplace/_gopath/

我也在使用GO App Engine SDK。

2 个答案:

答案 0 :(得分:0)

如上所述in here,使用Flexible环境时,应从app.yaml文件中删除以下行:

  

api_version:go1

FlexibleStandard中比较app.yaml文件的示例。

These是配置Flexible环境时可用的选项。

答案 1 :(得分:0)

您使用的是应用引擎标准环境吗?

应用引擎标准环境对于GOPATH很挑剔,它确实尝试上传所有必需的文件,但它通常有助于供应商提供依赖性并确保app.yaml处于最高级别。

https://cloud.google.com/appengine/docs/standard/go/building-app/creating-your-application#structuring_your_application_project

例如,在使用标准的go / cmd / pkg结构时,我遇到了标准环境问题。