在部署到谷歌云功能时,出现此错误:
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 来打包我的依赖项。好久没更新这个功能了。我第一次注意到这个错误。
如有任何帮助,我们将不胜感激。
最佳答案
正如 DazWilkin 上面所建议的,unsafe.Slice
是作为 Go 1.17 的一部分添加的,并且 GCP Functions 目前支持 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
通过此更改,我能够构建代码并将其部署到 Google Cloud Functions。
关于go - gcloud 函数部署 go 运行时错误 "undefined: unsafe.Slice; Error ID: 2f5e35a0",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74049351/