You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用rbenv安装Ruby 3.1.2遇缺失扩展错误,求解决方案

使用rbenv安装Ruby 3.1.2时出现yaml扩展未编译错误

安装Ruby 3.1.2时触发如下构建失败错误:

BUILD FAILED (macOS 12.4 using ruby-build 20220713)

Inspect or clean up the working tree at /var/folders/bw/rs138g1n5zv_qwn7_7kggc9r0000gq/T/ruby-build.20220719230321.35067.BRya3b
Results logged to /var/folders/bw/rs138g1n5zv_qwn7_7kggc9r0000gq/T/ruby-build.20220719230321.35067.log

Last 10 log lines:
The Ruby yaml extension was not compiled.
ERROR: Ruby install aborted due to missing extensions
Configure options used:
  --prefix=/Users/some_user/.rbenv/versions/3.1.2
  --with-openssl-dir=/Users/some_user/.rbenv/versions/3.1.2/openssl
  --enable-shared
  --with-readline-dir=/usr/local/opt/readline
  CC=clang
  LDFLAGS=-L/Users/some_user/.rbenv/versions/3.1.2/lib
  CPPFLAGS=-I/Users/some_user/.rbenv/versions/3.1.2/include

已尝试的操作:

  • 执行brew update、brew install ruby-build、brew install rbenv后运行rbenv install 3.1.2
  • 重新安装rbenv和ruby-build
  • 尝试安装Ruby 3.1.0(出现相同错误)
  • 设置环境变量后安装:
    RUBY_CONFIGURE_OPTS="--with-openssl-dir=`brew --prefix openssl` --with-readline-dir=`brew --prefix readline` --with-libyaml-dir=`brew --prefix libyaml`" rbenv install 3.1.2
    

当前rbenv版本为1.2.0,求解决方法。


解决步骤

  • 确保libyaml安装完好
    执行brew install libyaml,若已安装则执行brew reinstall libyaml修复可能损坏的文件。
  • 清理ruby-build临时文件
    删除本次安装的临时工作目录:
    rm -rf /var/folders/bw/rs138g1n5zv_qwn7_7kggc9r0000gq/T/ruby-build.20220719230321.35067.BRya3b
    
    或者直接清理所有ruby-build临时文件:
    rm -rf /var/folders/bw/rs138g1n5zv_qwn7_7kggc9r0000gq/T/ruby-build.*
    
  • 调整环境变量设置方式
    先手动获取依赖的绝对路径:
    brew --prefix openssl
    brew --prefix readline
    brew --prefix libyaml
    
    然后将这些路径直接写入配置变量,避免动态获取可能的路径问题,例如:
    RUBY_CONFIGURE_OPTS="--with-openssl-dir=/usr/local/opt/openssl --with-readline-dir=/usr/local/opt/readline --with-libyaml-dir=/usr/local/opt/libyaml" rbenv install 3.1.2
    
  • 检查Xcode Command Line Tools完整性
    执行xcode-select --install安装完整的命令行工具,若已安装则执行xcode-select --reset重置后再尝试安装。
  • 排除环境变量干扰
    先清空可能冲突的LDFLAGS和CPPFLAGS,再执行安装:
    unset LDFLAGS CPPFLAGS
    RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl) --with-readline-dir=$(brew --prefix readline) --with-libyaml-dir=$(brew --prefix libyaml)" rbenv install 3.1.2
    

内容的提问来源于stack exchange,提问作者mr_muscle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 07:15:36