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

Mac OS Monterey 12.3.1下bundle install安装mini_racer报错

问题描述

在Mac OS Monterey 12.3.1系统中执行bundle install时,mini_racer(0.6.2)安装失败,Bundler终止运行,核心报错信息:

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby/ruby.h:2602:20: note: expanded from macro 'rb_funcall'
        rb_funcallv(recv, mid, \
                          ^~~
60 warnings generated.
linking shared-object mini_racer_extension.bundle
clang: error: no such file or directory: '/Users/mahdi/.gem/gems/libv8-node-16.10.0.0-x86_64-darwin/vendor/v8/universal-darwin/libv8/obj/libv8_monolith.a'
make: *** [mini_racer_extension.bundle] Error 1

make failed, exit code 2

后续尝试直接执行gem install mini_racer、在Gemfile中明确指定mini_racer版本号,均出现相同的原生扩展构建失败问题,无法解决。

解决方案

该报错是mini_racer 0.6.2版本在MacOS 12.x系统下的已知路径识别bug:编译时默认查找universal通用架构目录下的libv8静态库,但依赖的libv8-node预编译包实际把文件存放在对应芯片架构的专属目录下,最终触发文件不存在错误。按以下步骤操作即可修复:

  • 先清理本地安装失败的残留包
gem uninstall mini_racer
gem uninstall libv8-node

执行时如果提示确认删除,输入y回车即可。

  • 单独安装对应版本的libv8-node,指定匹配本机芯片的架构参数
    • Intel芯片Mac执行:
    gem install libv8-node -v 16.10.0.0 -- --with-cxxflags=-arch x86_64 --with-ldflags=-arch x86_64
    
    • M系列(Apple Silicon)芯片Mac执行:
    gem install libv8-node -v 16.10.0.0 -- --with-cxxflags=-arch arm64 --with-ldflags=-arch arm64
    
  • 创建编译时查找的目标目录,将已安装的libv8静态库软链到对应路径
    • Intel芯片Mac执行:
    mkdir -p ~/.gem/gems/libv8-node-16.10.0.0-x86_64-darwin/vendor/v8/universal-darwin/libv8/obj
    ln -s ~/.gem/gems/libv8-node-16.10.0.0-x86_64-darwin/vendor/v8/x86_64-darwin/libv8/obj/libv8_monolith.a ~/.gem/gems/libv8-node-16.10.0.0-x86_64-darwin/vendor/v8/universal-darwin/libv8/obj/libv8_monolith.a
    
    • Apple Silicon芯片Mac执行:
    mkdir -p ~/.gem/gems/libv8-node-16.10.0.0-arm64-darwin/vendor/v8/universal-darwin/libv8/obj
    ln -s ~/.gem/gems/libv8-node-16.10.0.0-arm64-darwin/vendor/v8/arm64-darwin/libv8/obj/libv8_monolith.a ~/.gem/gems/libv8-node-16.10.0.0-arm64-darwin/vendor/v8/universal-darwin/libv8/obj/libv8_monolith.a
    
  • 重新执行安装命令
bundle install
# 若仅需单独安装mini_racer,可执行
gem install mini_racer -v 0.6.2

如果不想手动调整路径,也可以直接将mini_racer升级到0.6.3及以上版本,高版本已经修复了该MacOS路径识别问题,无需额外配置即可正常安装。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 06:57:23