erlang - 得到“无法使用的 Erlang 运行时系统!” 尝试在 Amazon Linux 2 上运行时
问题描述
我正在 github 操作中在 Ubuntu 18.04 上编译一个 elixir 应用程序并尝试在 Amazon Linux 2 系统中运行它,我收到错误“无法使用 Erlang 运行时系统!这可能是由于为另一个系统编译而不是主机正在运行”
我检查以确保两者都在 x86_64 系统上运行,而且情况确实如此。Github Actions Ubuntu uname: Linux fv-az21-804 5.4.0-1036-azure #38~18.04.1-Ubuntu SMP Wed Jan 6 18:26:30 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Amazon Linux 2 uname:Linux ip-172-10-201-177.ec2.internal 4.14.209-160.339.amzn2.x86_64 #1 SMP Wed Dec 16 22:44:04 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
OTP 版本:23.2.1 Elixir 版本:1.11.3
我不知道会发生什么。有什么想法吗?
解决方案
这通常是 Erlang 版本不匹配的情况。
设想:
- 使用alpine-elixir:1.7.3构建
- 配菜
alpine:latest
试试看 Erlang 版本是否一致。
OP在评论中询问:
问题是否可能
libc
在于使用 ubuntuglibc
和使用 musl 的 alpine 之间的不匹配?
这确实是一个可能的根本原因。测试将是使用相同的 libc 编译它。
推荐阅读
- java - 读取 xml (windows-1252) 文件时出错
- php - 动态拖放表格行
- c++ - 我在微控制器 stm32f373 发现中点亮 LED 时遇到问题
- libgdx - 在制作软体(球体)并在 libgdx 中平移时,很少有网格顶点粘在原点上?
- install4j - 第二次启动时的执行级别启动应用程序不会从代码中调用 main 方法
- azure - 部署时的数据库参考
- flutter - Dart 函数可以接受范围参数吗?
- c# - 获取当前活动标签
- hyperledger-fabric - Hyperledger Fabric 交易太慢
- scrapy - Scrapy:与另一端的连接丢失