MacBook M1 Max(Sequoia15.2)安装Ruby3.4.1失败:架构适配问题
解决M1 Max Mac上Ruby 3.4.1安装架构不匹配问题
问题根源
你的Miniconda3为x86_64架构版本,导致其提供的clang编译器目标为x86_64,与M1 Max的arm64原生架构冲突,进而在编译Ruby 3.4.1时触发_Float16不支持的错误。
解决方案
方案一:替换为ARM64原生版Miniconda3(彻底解决)
卸载现有x86版Miniconda3
- 删除Miniconda安装目录:
rm -rf /Users/Username/opt/miniconda3 - 清理shell配置文件(如
~/.zshrc或~/.bash_profile)中的Miniconda初始化代码,删除类似以下片段:# >>> conda initialize >>> ... # <<< conda initialize <<<
- 删除Miniconda安装目录:
安装ARM64版Miniconda3
- 下载并运行ARM64架构的安装脚本:
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh bash Miniconda3-latest-MacOSX-arm64.sh - 按照提示完成安装,确保允许脚本初始化shell环境。
- 下载并运行ARM64架构的安装脚本:
验证架构正确性
重启终端后运行以下命令,确认clang目标架构为arm64:/Users/Username/opt/miniconda3/bin/clang --version输出应包含
Target: arm64-apple-darwin24.2.0。
方案二:临时调整环境变量,强制使用ARM64编译器(快速解决)
若不想重新安装Miniconda,可在安装Ruby前临时修改环境变量,让系统优先调用原生arm64编译器:
设置编译环境变量
在终端执行以下命令:# 将系统clang路径置于Miniconda路径之前 export PATH="/usr/bin:$PATH" # 指定编译工具为原生arm64 clang export CC=/usr/bin/clang export CXX=/usr/bin/clang++安装Ruby 3.4.1
若使用rbenv:rbenv install 3.4.1若直接使用
ruby-build:ruby-build 3.4.1 ~/.rbenv/versions/3.4.1
额外说明
- 若偏好使用Homebrew的llvm clang,可将环境变量改为:
export CC=/opt/homebrew/opt/llvm/bin/clang export CXX=/opt/homebrew/opt/llvm/bin/clang++ - 临时环境变量仅在当前终端会话生效,重启终端后会恢复Miniconda的编译器优先级。
内容的提问来源于stack exchange,提问作者Silentmovie
相关产品推荐
相关产品推荐

