在 Mac 上安装 sassc Ruby gem。一个调试故事

主要观点:在 Mac(ARM)上,gem install sassc曾停止工作,经排查发现是与 Ruby 的原生扩展相关的问题,通过一系列操作(如卸载 Ruby、删除 gems、更新 Xcode 等)可修复该问题。

关键信息:

  • 安装sassc时出现Gem::Ext::BuildError错误,编译libsass的 C++文件失败。
  • 原生扩展是指使用 Ruby 的 C API 或 FFI 的库,以提升性能或利用系统已有的软件。
  • 为简化依赖管理,sassc等原生扩展 gem 会引入依赖代码(如libsass的 C++源文件)。
  • 通过调试发现make命令执行出错,false命令导致编译失败,其根源是 Ruby 编译时生成的rbconfig.rb文件中CXX被错误地设置为false

重要细节:

  • 提供了详细的调试过程,如使用make -n查看命令输出、分析Makefile内容等,以找出问题所在。
  • 给出了修复问题的具体步骤,包括卸载 Ruby 和 gems、更新 Xcode、重新安装 Ruby 以及再次安装sassc
  • 提到可能通过手动编辑文件来解决问题,但建议更新 Xcode 以确保未来 Ruby 安装的正确性。
  • 最后鼓励读者阅读相关内容、购买书籍、关注社交账号以及分享自己的调试经验。
阅读 9
0 条评论