gcloud函数部署go运行时错误“未定义:不安全,切片;错误代码:2f 5e 35 a0”

vsikbqxv  于 2023-01-28  发布在  Go
关注(0)|答案(2)|浏览(746)

虽然部署到谷歌云功能,我得到这个错误:

ERROR: (gcloud.functions.deploy) OperationError: code=3, message=Build failed: # projectname/vendor/golang.org/x/sys/unix
src/projectname/vendor/golang.org/x/sys/unix/syscall.go:83:16: undefined: unsafe.Slice
src/projectname/vendor/golang.org/x/sys/unix/syscall_linux.go:2255:9: undefined: unsafe.Slice
src/projectname/vendor/golang.org/x/sys/unix/syscall_unix.go:118:7: undefined: unsafe.Slice
src/projectname/vendor/golang.org/x/sys/unix/sysvshm_unix.go:33:7: undefined: unsafe.Slice; Error ID: 2f5e35a0

我的命令是:

gcloud functions deploy servicename --region=us-central1 --entry-point=gofunctionname --runtime=go116 --source=.

我正在使用vendoring来打包我的依赖项。有一段时间我更新了这个功能。这是我第一次注意到这个错误。
任何帮助都将不胜感激。

qv7cva1a

qv7cva1a1#

正如DazWilkin在上面建议的那样,unsafe.Slice作为Go 1.17的一部分被添加,GCP函数目前支持Go 1.16。
我不得不恢复go.mod文件中的golang.org/x/sys模块,这对我很有效。

golang.org/x/sys v0.0.0-20221010170243-090e33056c14 // indirect

golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab // indirect

有了这个变化,我能够构建和部署代码到谷歌云功能。

ahy6op9u

ahy6op9u2#

在撰写本文时,Google Cloud Functions现在支持Go 1.18 and Go 1.19
将您的项目更新为go119,您应该不会再遇到此问题。例如:

gcloud functions deploy servicename --runtime=go119 --region=us-central1

相关问题