首页 >后端开发 >Golang >部署到 Google App Engine 时如何解决 Go 导入冲突?

部署到 Google App Engine 时如何解决 Go 导入冲突?

Linda Hamilton
Linda Hamilton原创
2024-12-20 12:12:14730浏览

How to Resolve Go Import Conflicts When Deploying to Google App Engine?

解决 App Engine 导入冲突

在 Google App Engine 上部署 Go 应用程序时,由于服务和测试期间的导入路径不同,可能会出现冲突。

问题描述

要解决这些问题,请考虑以下内容options:

选项 1:修改导入路径(推荐)

  • 在主包(例如 main.go)中,删除源存储库前缀子文件夹包导入。例如,使用 lib1,而不是 github.com/markhayden/SampleIssue/lib1。

选项 2:外部化依赖项

  • 移动子-文件夹包到主项目源之外的独立项目目录。
  • 使用完整导入路径导入这些依赖项(例如 github.com/MarkHayden/SampleIssueDeps/lib1)。

实现详细信息

选项1:

  • 例如,在 main.go 中:

    import (
      "fmt"
      "github.com/markhayden/SampleIssue/lib1" // Remove "github.com/markhayden/SampleIssue/"
      "github.com/markhayden/SampleIssue/lib2" // Remove "github.com/markhayden/SampleIssue/"
      "net/http"
    )

选项 2:

  • 假设依赖项已移至项目中SampleIssueDeps 在主项目目录之外。
  • 在 main.go 中:

    import (
      "fmt"
      "github.com/MarkHayden/SampleIssueDeps/lib1"
      "github.com/MarkHayden/SampleIssueDeps/lib2"
      "net/http"
    )

优点和注意事项

两个选项都解决了导入冲突在服务和测试期间。选项 1 更简单并保持导入约定,而选项 2 允许更模块化的依赖关系管理。

以上是部署到 Google App Engine 时如何解决 Go 导入冲突?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn