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

Mac环境下Rails s启动卡住,中断后报Interrupt错误求助

Rails s启动卡住中断后报Bootsnap Interrupt错误的排查方案

根据你提供的错误栈,问题出在Bootsnap编译缓存初始化阶段,且卡在AWS SDK相关gem的加载流程中,以下是未尝试过的排查和解决步骤:

  • 临时禁用Bootsnap验证缓存问题
    启动服务器时通过环境变量禁用Bootsnap:

    DISABLE_BOOTSNAP=1 rails s
    

    如果能正常启动,说明Bootsnap缓存损坏,执行以下命令清理缓存:

    rails tmp:clear
    # 或精准清理Bootsnap缓存
    rm -rf tmp/cache/bootsnap-*
    
  • 排查AWS SDK初始化阻塞

    • 检查项目中config/initializers/目录下的AWS相关初始化文件,确认是否存在同步网络请求、等待外部资源的逻辑,这类代码会导致启动卡住
    • 临时注释Gemfile中aws-sdk-s3、aws-sdk-kms相关依赖,执行bundle install后重新启动,验证是否为这些gem的加载问题
    • 确保开发环境配置中没有生产级的AWS连接逻辑,尝试用明确的开发环境启动:
      RAILS_ENV=development rails s
      
  • 清理Ruby与Bundler缓存

    • 强制清理Bundler缓存并重装依赖:
      bundle clean --force
      bundle install
      
    • 若使用RVM,清空当前gemset后重装:
      rvm gemset empty ruby-2.7.1
      bundle install
      
    • 检查OpenSSL版本兼容性(AWS SDK依赖OpenSSL),Mac上若存在多版本冲突,重新安装Ruby指定OpenSSL路径:
      rvm reinstall 2.7.1 --with-openssl-dir=$(brew --prefix openssl@1.1)
      
  • 追踪启动阻塞的详细过程

    • 开启debug日志启动,查看具体卡住的环节:
      rails s --debug
      
    • 使用Mac系统工具dtruss跟踪系统调用,定位阻塞的操作(需sudo权限):
      sudo dtruss -f rails s
      
  • 排除Dropbox同步干扰
    项目存储在Dropbox目录下可能因文件同步锁导致Bootsnap缓存写入失败,将项目复制到本地非同步目录(如~/Projects/)后重新启动验证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 07:49:53