登录
首页 >  Golang >  Go问答

Google Cloud Function中的私有作用域函数

来源:stackoverflow

时间:2024-02-20 23:12:24 271浏览 收藏

小伙伴们有没有觉得学习Golang很有意思?有意思就对了!今天就给大家带来《Google Cloud Function中的私有作用域函数》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!

问题内容

项目看起来像这样

project
- internal
  - package
    code.go
- cmd
  - function
    main.go

在 cmd/function 中,go.mod 如下所示:

module github.com/private/repo/cmd/function

go 1.13

require (
    github.com/private/repo/internal/package v0.0.0-00010101000000-000000000000
)

replace github.com/private/repo/internal/package => ../../internal/package

这在本地工作正常,但是,当部署为云功能时,它不起作用,因为云功能仅包含“cmd/function”目录。

相反,我尝试将模块复制到项目目录中并替换。

project
- cmd
  - function
    main.go
    - internal
      - package
        code.go

replace github.com/private/repo/internal/package => ./internal/package

但是此替换似乎被忽略,因为 cloud function 部署构建仍尝试下载此包。

接下来,我尝试使用 go modvendor,并忽略 go.mod 和 go.sum 文件。这似乎可以解决问题,但并不完全,因为删除了 go.mod,我不能再使用内部包了。

use of internal package function/vendor/github.com/private/repo/internal/package not allowed

不确定我将如何解决这个问题并且仍然能够使用内部包名称。

编辑: 添加了一个显示错误的存储库,并通过不在库名称中使用内部关键字进行了简单修复。 https://github.com/lobbin/gcloud-function-error


解决方案


感谢您报告此问题。

我针对此改进提交了功能请求 [1]。

我建议您为 FR 加注星标,以提高其可见度,每次有更新时,您都会通过电子邮件收到通知。

请注意,目前此请求尚无预计到达时间。

[1]。 https://issuetracker.google.com/184141587

今天关于《Google Cloud Function中的私有作用域函数》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>