Mac OS M1环境下无法安装Ruby 2.7.5,configure报错求助
解决Ruby安装时
configure: error: cannot run C compiled programs问题 第一步:补全系统编译依赖
不同系统所需依赖不同,按需执行:
macOS(含M系列芯片)
- 安装Xcode命令行工具:
xcode-select --install - M系列芯片需先装Rosetta 2(未安装时执行):
softwareupdate --install-rosetta - 通过Homebrew安装编译依赖:
brew install openssl readline zlib
Linux(Ubuntu/Debian为例)
- 更新并安装基础编译套件:
sudo apt update && sudo apt install build-essential libssl-dev libreadline-dev zlib1g-dev
第二步:修复文件权限问题
该报错常因临时目录或安装目录权限不足导致:
- 重置
/tmp目录权限:chmod 1777 /tmp - 确保rvm/rbenv安装目录归属当前用户:
sudo chown -R $USER:$USER ~/.rvm ~/.rbenv
第三步:指定依赖路径安装Ruby
用rvm安装
export PATH="/usr/local/opt/openssl/bin:$PATH" export LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include" export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig" rvm install 2.7.5 --with-openssl-dir=$(brew --prefix openssl)
用rbenv安装
RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl)" rbenv install 2.7.5
第四步:排查架构兼容问题(M系列Mac)
- 右键终端图标,选择「使用Rosetta打开」,重启终端后重新执行安装命令
- 或临时切换x86_64架构运行终端:
arch -x86_64 zsh # 在此终端内执行rvm/rbenv安装命令
第五步:彻底清理残留配置
移除之前rvm/rbenv的残留文件与环境变量:
- 清理rvm:
rvm implode rm -rf ~/.rvm ~/.rvmrc /etc/rvmrc - 清理rbenv:
rm -rf ~/.rbenv ~/.ruby-build - 打开
~/.bashrc/~/.zshrc,删除所有与rvm/rbenv相关的配置行,重启终端
第六步:手动编译安装(终极方案)
- 下载Ruby 2.7.5源码:
wget https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.5.tar.gz tar -xzf ruby-2.7.5.tar.gz cd ruby-2.7.5 - 配置编译参数:
./configure --prefix=$HOME/.rubies/ruby-2.7.5 --with-openssl-dir=$(brew --prefix openssl) - 编译并安装:
make make install - 添加到系统路径:
echo 'export PATH="$HOME/.rubies/ruby-2.7.5/bin:$PATH"' >> ~/.zshrc source ~/.zshrc
内容的提问来源于stack exchange,提问作者Cindy
相关产品推荐
相关产品推荐

