返回顶部
首页 > 资讯 > 后端开发 > GO >Heroku Go 应用程序崩溃,找不到版本“GLIBC_2.32”,bin/main 需要
  • 147
分享到

Heroku Go 应用程序崩溃,找不到版本“GLIBC_2.32”,bin/main 需要

2024-04-04 23:04:37 147人浏览 独家记忆
摘要

从现在开始,我们要努力学习啦!今天我给大家带来《Heroku Go 应用程序崩溃,找不到版本“GLIBC_2.32”,bin/main 需要》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及

从现在开始,我们要努力学习啦!今天我给大家带来《Heroku Go 应用程序崩溃,找不到版本“GLIBC_2.32”,bin/main 需要》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到等等知识点,如果在阅读本文过程中有遇到不清楚的地方,欢迎留言呀!我们一起讨论,一起学习!

问题内容

所以我有一个非常简单的网络应用程序,现在只提供一个 html 文件,我的代码可以在我的笔记本电脑上运行,但不能在 heroku 的服务器上运行。编译时没有错误,但是当我尝试访问该网站时。应用程序崩溃。 未找到版本“GLIBC_2.32” 我检查了日志,它说它需要 'GLIBC_2.32' ,但未找到。我对 Heroku 和制作网络应用程序非常陌生,我不知道如何安装该依赖项


解决方案


尝试不使用 cgo 进行构建:

CGO_ENABLED=0 go build

cgo_enabled=0 禁用调用 c 代码(导入“c”)。这意味着标准库或第三方库中的某些功能可能不可用,或者改用纯 go 实现。这对于您的应用程序的功能和性能意味着什么,实际上取决于您的应用程序的用途。我建议您在部署到生产之前运行测试;-) 在大多数情况下它会工作得很好。

有关 cgo_enabled 的更多信息:

  • Why is compiling with CGO_ENABLED=0 slower?

我在使用多步Docker时遇到了同样的问题。首先在构建器 docker 中构建应用程序,然后将二进制文件复制到新容器。因为原始的 golang 1.19 已更改,所以我的预构建二进制文件在第二个容器中崩溃,并出现错误 glibc_2.32 not found

我的情况设置 cgo_enabled 不是一个选项。

第一个解决方法是在正在运行的容器中编译应用程序

第二个解决方法,用于查找基础 golang 1.19 docker 映像的先前版本。

两者都为我工作。

好了,本文到此结束,带大家了解了《Heroku Go 应用程序崩溃,找不到版本“GLIBC_2.32”,bin/main 需要》,希望本文对你有所帮助!关注编程网公众号,给大家分享更多Golang知识!

您可能感兴趣的文档:

--结束END--

本文标题: Heroku Go 应用程序崩溃,找不到版本“GLIBC_2.32”,bin/main 需要

本文链接: https://lsjlt.com/news/596173.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作