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

ARM架构Mac上安装bzip2-ruby gem失败求助(Ruby 2.7.5环境)

ARM架构Mac上安装bzip2-ruby gem失败求助(Ruby 2.7.5环境)

嘿,我之前在ARM架构的Mac上用Ruby 2.7.5安装bzip2-ruby gem时也碰到过一模一样的问题,尤其是这个找不到version.h的编译错误,大概率是系统依赖路径没配置对或者gem本身的兼容性问题导致的。下面给你几个亲测有效的解决思路:

  • 先安装bzip2开发依赖
    首先确保你的Mac上已经安装了bzip2的开发库,用Homebrew安装最方便:

    brew install bzip2
    
  • 指定依赖路径安装gem
    直接安装gem时,明确告诉它bzip2的安装路径,这样编译时就能找到缺失的头文件了:

    gem install bzip2-ruby -- --with-bzip2-dir=$(brew --prefix bzip2)
    

    要是brew --prefix bzip2返回的路径不对(ARM Mac上Homebrew默认路径是/opt/homebrew/opt/bzip2),也可以直接写绝对路径:

    gem install bzip2-ruby -- --with-bzip2-dir=/opt/homebrew/opt/bzip2
    
  • 手动修改源码编译(如果上述方法失效)
    这个老版本的bzip2-ruby gem代码里的头文件引用可能有问题,找不到系统里的bzip2头文件。你可以手动克隆源码修改后编译安装:

    1. 克隆仓库并切换到对应版本:
      git clone https://github.com/paul/bzip2-ruby.git
      cd bzip2-ruby
      git checkout v0.2.7
      
    2. 打开ext/bzip2.c文件,把第6行的#include <version.h>改成#include <bzip2/version.h>
    3. 编译并安装:
      ruby extconf.rb --with-bzip2-dir=$(brew --prefix bzip2)
      make && make install
      

另外,那个关于rubyio.h的警告不用太在意,是因为Ruby 2.7已经废弃了这个旧头文件,改用ruby/io.h,但这只是警告,不会影响gem的安装和使用,主要解决version.h找不到的问题就行。

备注:内容来源于stack exchange,提问作者Sandeep Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 11:23:05