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

M1 Mac上Ruby 3.0.4安装msgpack 1.4.4报错求助

解决msgpack gem安装时的函数指针类型不兼容错误

错误原因

你遇到的编译错误是因为msgpack 1.4.4版本过于老旧,和Ruby 3.0.4的C扩展API不兼容。Ruby 3.0调整了rb_rescue2函数的参数类型要求,而老版本msgpack的buffer_class.c代码中传递的函数指针不符合新规范,导致编译失败。

解决办法

  • 直接安装兼容Ruby 3.0的msgpack版本:
    gem install msgpack --version '>= 1.5.0'
    
    1.5.0及以上版本已修复Ruby 3.0的兼容性问题。
  • 若项目使用Gemfile管理依赖,修改约束为:
    gem 'msgpack', '>= 1.5.0'
    
    再执行bundle install更新依赖。
  • 若旧版本已残留,先卸载再重装:
    gem uninstall msgpack -v 1.4.4
    gem install msgpack --version '>= 1.5.0'
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 17:21:04