Golang Google Cloud Functions升级Go1.13部署报go.mod模块路径错误怎么办
Go 1.13版本Cloud Functions部署模块路径报错调整方案
报错根因
Go 1.13版本的Cloud Functions运行时启用了严格的Go模块校验规则,不再兼容Go 1.11及更早版本支持的GOPATH模式下的无域名模块名。新规则要求go.mod文件内定义的模块路径,第一个斜杠前的路径元素必须包含点号(符合Go官方模块的域名命名规范)。你当前使用的module iotpubsub无点号,不符合校验要求,因此构建失败。
具体调整操作
- 修改
go.mod中的模块路径声明
将原module iotpubsub替换为首段带点号的合规路径,例如module example.com/iotpubsub即可。构建系统仅校验路径格式合法性,不会校验该域名的真实可达性,你也可以替换为自己拥有的任意域名格式路径,只要满足「首段含点」的规则即可。 - 代码无需改动
你现有代码内的package iotpubsub声明、第三方依赖导入、函数入口逻辑均不需要调整,包名与模块路径为独立的标识符体系,Cloud Functions运行时会自动识别导出的Send函数作为触发入口,与模块路径无关联。 - 依赖校验(可选)
本地修改完成后可执行go mod tidy同步依赖清单与go.sum文件,避免后续构建时出现依赖拉取异常。
调整后go.mod参考示例
module example.com/iotpubsub go 1.13 require ( cloud.google.com/go v0.39.0 google.golang.org/genproto v0.0.0-20190605220351-eb0b1bdb6ae6 )
内容的提问来源于stack exchange,提问作者Miguel Angel
相关产品推荐
相关产品推荐

