Mac系统通过RVM安装MacRuby时RubyGems安装失败:不支持Objective-C垃圾回收
问题根因
报错的核心原因是日志中提示的 Objective-C garbage collection is not supported:MacRuby 0.12是已经停止维护的老旧版本,依赖macOS早已废弃的Objective-C垃圾回收机制,该机制在OS X 10.11(El Capitan)及之后的系统版本中被苹果完全移除,因此新系统无法加载libmacruby.dylib依赖库,导致安装失败。
解决方案
- 若你没有必须使用MacRuby的特殊需求,直接安装标准CRuby版本即可,完全不会触发该兼容问题,执行RVM安装命令:
安装完成后执行以下命令将该版本设为默认:rvm install [你需要的Ruby稳定版本号,例如3.2]rvm use [对应版本号] --default - 若你必须使用MacRuby 0.12,唯一可行方案是将macOS降级到OS X 10.10(Yosemite)或更老的系统版本,或通过虚拟机运行老版本macOS,在老系统环境下安装使用MacRuby 0.12。
- 不建议尝试手动替换依赖库、修改二进制文件强制加载,这类操作无法从根本上解决底层依赖缺失的问题,还可能导致运行异常、系统不稳定。
内容的提问来源于stack exchange,提问作者Oleksandr Novik
相关产品推荐
相关产品推荐

