macOS 12.7下安装Ruby 2.7.5失败,请求技术指导
解决macOS 12.7(x86_64)下rbenv安装Ruby 2.7.5失败的问题
问题原因
Ruby 2.7.5对OpenSSL版本有特定要求(需OpenSSL 1.1),且macOS 12.7默认的依赖库路径无法被rbenv的编译过程正确识别,导致gdbm、openssl扩展配置失败,最终触发make: *** [do-install-all] Error 1。
解决步骤
更新Homebrew并安装依赖库
先确保Homebrew是最新状态,再安装Ruby 2.7.5所需的OpenSSL 1.1和gdbm:brew update brew install openssl@1.1 gdbm带完整环境变量执行安装命令
通过指定编译参数,让rbenv找到正确的依赖路径,执行以下命令:RUBY_CFLAGS="-Wno-error=implicit-function-declaration" \ LDFLAGS="-L$(brew --prefix openssl@1.1)/lib -L$(brew --prefix gdbm)/lib" \ CPPFLAGS="-I$(brew --prefix openssl@1.1)/include -I$(brew --prefix gdbm)/include" \ CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl@1.1) --with-gdbm-dir=$(brew --prefix gdbm)" \ rbenv install 2.7.5清理残留缓存(若之前安装失败过)
如果之前的安装尝试留下了损坏的缓存文件,先清理再重新安装:rbenv uninstall 2.7.5 rm -rf ~/.rbenv/sources/2.7.5之后再重新执行步骤2的安装命令。
验证安装结果
安装完成后,切换到Ruby 2.7.5并验证核心扩展是否正常:rbenv global 2.7.5 ruby -v ruby -r openssl -e 'puts OpenSSL::VERSION'若输出Ruby版本为2.7.5,且OpenSSL版本正常(如1.1.1w),则安装成功。
内容的提问来源于stack exchange,提问作者Rana Sohail
相关产品推荐
相关产品推荐

