虽然部署到谷歌云功能,我得到这个错误:
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来打包我的依赖项。有一段时间我更新了这个功能。这是我第一次注意到这个错误。
任何帮助都将不胜感激。
2条答案
按热度按时间qv7cva1a1#
正如DazWilkin在上面建议的那样,
unsafe.Slice
作为Go 1.17的一部分被添加,GCP函数目前支持Go 1.16。我不得不恢复
go.mod
文件中的golang.org/x/sys
模块,这对我很有效。从
至
有了这个变化,我能够构建和部署代码到谷歌云功能。
ahy6op9u2#
在撰写本文时,Google Cloud Functions现在支持Go 1.18 and Go 1.19。
将您的项目更新为
go119
,您应该不会再遇到此问题。例如: