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

使用Capistrano部署Rails应用时执行assets:precompile触发Ruby报错

解决方案

你遇到的是FFI gem预编译版本与服务器CPU架构不兼容导致的非法指令崩溃,这是FFI 1.12.x版本的已知问题,可按以下顺序尝试解决:

  • 升级FFI到兼容版本
    在项目Gemfile中指定FFI最低版本,避开有问题的1.12.x系列:
    gem 'ffi', '>= 1.15.5'
    
    本地执行bundle install更新Gemfile.lock后,提交两个文件到代码仓库,重新触发部署即可。
  • 强制服务器本地编译FFI
    如果不方便升级FFI版本,可登录部署服务器,在项目shared/bundle目录下执行命令,卸载现有FFI并强制本地编译安装:
    gem uninstall ffi -v 1.12.1
    gem install ffi -v 1.12.1 --platform ruby
    
    编译完成后重新部署,即可解决预编译版本的指令集不兼容问题。
  • 验证方案
    登录服务器进入当前最新的部署release目录,手动执行bundle exec rake assets:precompile,如果复现同样的崩溃报错,即可确认是FFI编译问题,上述两个方案均能解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 09:06:04