Mac M1 Monterey下用asdf安装Erlang失败求助
Mac M1(Monterey)下用asdf安装Erlang 25.0.3的适配方案
针对你遇到的编译报错(找不到aarch64架构对应的Makefile),核心原因是M1 arm64架构需要特定编译配置,以下是适配步骤:
1. 安装必备依赖
先通过Homebrew安装编译Erlang所需的基础依赖:
brew update brew install openssl@1.1 autoconf automake libtool wxwidgets
2. 设置适配M1的环境变量
在终端导出以下环境变量,指定架构、SSL路径及编译工具:
export KERL_CONFIGURE_OPTIONS="--without-javac --with-ssl=$(brew --prefix openssl@1.1) --enable-darwin-64bit --enable-kernel-poll --enable-threads --enable-smp-support" export CC=/usr/bin/clang export CXX=/usr/bin/clang++ export KERL_BUILD_DOCS="no"
--enable-darwin-64bit:适配M1的arm64 64位架构- 指定系统clang作为编译工具,避免第三方clang的兼容性问题
KERL_BUILD_DOCS="no":跳过文档编译,加快安装速度
3. 清理旧编译缓存(若之前安装失败过)
# 卸载未完成的Erlang版本 asdf uninstall erlang 25.0.3 # 删除编译缓存文件 rm -rf ~/.asdf/plugins/erlang/kerl-home/builds/25.0.3
4. 重新安装指定版本
不要用latest,直接指定25.0.3版本安装:
asdf install erlang 25.0.3
额外注意事项
- 确保终端为M1原生模式(不要通过Rosetta 2运行),默认终端即为原生模式
- 若仍出现SSL相关报错,可额外添加:
export LDFLAGS="-L$(brew --prefix openssl@1.1)/lib" export CPPFLAGS="-I$(brew --prefix openssl@1.1)/include"
内容的提问来源于stack exchange,提问作者William Pollet
相关产品推荐
相关产品推荐

