在Google App engine中使用Firestore部署Go应用程序

在Google App engine中使用Firestore部署Go应用程序,go,google-cloud-firestore,Go,Google Cloud Firestore,当我使用go run main.go运行我的web应用程序时,包括Firestore在内的一切都可以正常工作,但当我尝试使用gcloud app deploy部署它时,我收到以下错误消息: Step #0:"google.golang.org/api/transport/grpc".ConnPool does not implement "google.golang.org/grpc".ClientConnInterface (missing Invoke method) Finished St

当我使用
go run main.go
运行我的web应用程序时,包括Firestore在内的一切都可以正常工作,但当我尝试使用
gcloud app deploy
部署它时,我收到以下错误消息:

Step #0:"google.golang.org/api/transport/grpc".ConnPool does not implement "google.golang.org/grpc".ClientConnInterface (missing Invoke method)
Finished Step #0
ERROR
任何帮助都将不胜感激

由于stackoverflows限制,我无法发布整个代码,但正常编译时它不会返回错误,所以应该可以

代码如下所示:

func loadPage(substring string) (*Equation, error) {

    projectID := "deepxcode"
    ctx := context.Background()
    client, err := firestore.NewClient(ctx, projectID)
    if err != nil {
            log.Fatalf("Failed to create client: %v", err)
    }
    defer client.Close()

    dsnap, err := client.Collection("equations").Doc(substring).Get(ctx)
    if err != nil {
            return nil, err
    }
    var equation Equation
    dsnap.DataTo(&equation)
    fmt.Printf("Document data: %#v\n", equation)

    return &equation, nil
}
编辑:

运行gcloud app deploy--verbosity=debug,我得到:

DEBUG: (gcloud.app.deploy) Cloud build failed. Check logs at https://console.cloud.google.com/gcr/builds/a7f82257-891d-43f0-8694-834bac2b4560?project=529812836358 Failure status: UNKNOWN: Error Response: [2] Build failed; check build logs for details
Traceback (most recent call last):
  File "/google/google-cloud-sdk/lib/googlecloudsdk/calliope/cli.py", line 981, in Execute
    resources = calliope_command.Run(cli=self, args=args)
  File "/google/google-cloud-sdk/lib/googlecloudsdk/calliope/backend.py", line 807, in Run
    resources = command_instance.Run(args)
  File "/google/google-cloud-sdk/lib/surface/app/deploy.py", line 110, in Run
    default_strategy=flex_image_build_option_default))
  File "/google/google-cloud-sdk/lib/googlecloudsdk/command_lib/app/deploy_util.py", line 643, in RunDeploy
    ignore_file=args.ignore_file)
  File "/google/google-cloud-sdk/lib/googlecloudsdk/command_lib/app/deploy_util.py", line 416, in Deploy
    image, code_bucket_ref, gcr_domain, flex_image_build_option)
  File "/google/google-cloud-sdk/lib/googlecloudsdk/command_lib/app/deploy_util.py", line 289, in _PossiblyBuildAndPush
    self.deploy_options.parallel_build)
  File "/google/google-cloud-sdk/lib/googlecloudsdk/api_lib/app/deploy_command_util.py", line 449, in BuildAndPushDockerImage
    return _SubmitBuild(build, image, project, parallel_build)
  File "/google/google-cloud-sdk/lib/googlecloudsdk/api_lib/app/deploy_command_util.py", line 482, in _SubmitBuild
    build, project=project)
  File "/google/google-cloud-sdk/lib/googlecloudsdk/api_lib/cloudbuild/build.py", line 150, in ExecuteCloudBuild
    self.WaitAndStreamLogs(build_op)
  File "/google/google-cloud-sdk/lib/googlecloudsdk/api_lib/cloudbuild/build.py", line 195, in WaitAndStreamLogs
    + message)

您的供应商文件夹是最新的吗?您能否运行
gcloud app deploy--verbosity=debug
,这样我们就可以更详细地了解发生了什么,因为您提供的错误没有说明任何事情。@Stefan当然,我已将输出添加到帖子中。您是否按照错误消息中的说明检查了云构建日志?它们是否提供输入的进一步错误消息?您是否介意通过删除任何可能的敏感信息来共享app.yaml文件?您是否按照上的建议运行了必备命令:最相关的是
gcloud组件更新
gcloud组件安装app engine go