Mac OSX 10.12.6安装Compass遇zlib加载错误求助
解决Mac OSX 10.12.6下Ruby 2.4.2无法加载zlib的问题
看起来你遇到的是Ruby编译时未正确绑定系统zlib库的问题,尤其是通过RVM安装Ruby的场景下很常见。卸载重装Ruby时如果没指定依赖路径,问题会重复出现。试试下面的步骤:
第一步:确保Xcode命令行工具已安装并更新
打开终端执行:xcode-select --install如果提示已安装,就跳过这一步;如果有更新,完成更新后重启终端。
第二步:用RVM重新安装Ruby 2.4.2并指定zlib依赖
首先卸载当前的Ruby 2.4.2:rvm uninstall 2.4.2然后重新安装,同时指定系统zlib的路径(OSX 10.12的zlib通常在
/usr/lib):rvm install 2.4.2 --with-zlib-dir=/usr/lib如果上面的路径不行,试试Xcode SDK的路径(这个路径更可靠,因为OSX的系统库有时会被Xcode更新覆盖):
rvm install 2.4.2 --with-zlib-dir=$(xcrun --show-sdk-path)/usr/lib第三步:验证zlib是否正常加载
安装完成后,再次执行你的测试命令:ruby -rzlib -e0如果没有报错,说明zlib已经正确绑定了,接下来就可以正常安装Compass了:
gem install compass额外排查:检查RVM gemset是否存在版本冲突
如果你使用了RVM的gemset功能,可能存在不同gemset之间的版本嵌套问题。可以先切换到默认gemset再测试:rvm gemset use default或者干脆创建一个全新的gemset专门用于Compass环境,避免干扰:
rvm gemset create compass_env rvm gemset use compass_env gem install compass
这些步骤的核心是让Ruby在编译时正确关联系统原生的zlib库,而不是依赖RVM打包的可能有兼容性问题的版本。我之前在类似OSX版本上遇到过同款问题,用指定zlib路径的方式重装Ruby就解决了。
内容的提问来源于stack exchange,提问作者Berta Nicolau
相关产品推荐
相关产品推荐

