【问题标题】:importing a git-submodule into a golang gae app将 git 子模块导入 golang gae 应用程序
【发布时间】:2014-09-27 16:05:26
【问题描述】:

我的 golang google-app-engine 项目中有一个子模块,我想将它添加到我的路径中。

$ ls ./openid/src/openid
discover.go             integration          verify.go
discover_test.go        nonce_store.go       xrds.go
discovery_cache.go      nonce_store_test.go  xrds_test.go
fake_getter_test.go     normalizer.go        yadis_discovery.go
getter.go               normalizer_test.go   yadis_discovery_test.go
html_discovery.go       redirect.go
html_discovery_test.go  redirect_test.go

在这个包的示例代码中,它导入了“openid”。我是 golang 导入规则的新手,我一生都无法弄清楚我需要在主文件的导入语句中放入什么来导入这个包。我试过“openid/src/openid”、“myapp/openid/src/openid”等。有人可以解释一下它是如何工作的吗?还是我需要实际修改 app.yaml 文件?

【问题讨论】:

    标签: google-app-engine go openid


    【解决方案1】:

    Organizing Go code”提到:

    导入路径是用户用来导入包的字符串。
    它指定包源代码所在的目录(相对于$GOROOT/src/pkg$GOPATH/src)。

    因此,请确保使用引用 $GOPATH/src 中存在的路径的导入语句。 (GOPATH 是您的“工作区”,其中有命名空间,如 this video 所示)。
    还要确保首先构建 openid/src/openid 源。并安装它 (go install)。

    作为detailed in this answer:

    • 导入路径可以是全球唯一的。
    • 结合GOPATH,导入路径可以明确地转换为目录路径。
    • GOPATH 下的任何目录路径都可以明确转换为导入路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-09
      • 2020-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-01
      • 2021-01-14
      • 2020-12-14
      相关资源
      最近更新 更多