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

升级至Rails 5.1.5后运行RSpec遇Bundler::GemNotFound报错求助

解决RSpec运行时找不到activesupport-5.1.5的问题

这种情况我之前也碰到过好几次——明明Gemfile.lock里清清楚楚列着activesupport-5.1.5,跑RSpec却还是报找不到的错误,大概率是bundler缓存、本地gem安装不完整或者环境版本不匹配的问题,试试下面这些步骤:

  • 强制重新安装所有gem:直接让bundler重新安装Gemfile.lock里指定的所有版本,覆盖本地可能有问题的副本

    bundle install --force
    
  • 清理bundler缓存后重装:有时候缓存的旧gem会干扰,先清掉再装

    bundle clean --force
    bundle install
    
  • 检查Ruby环境和gemset:如果你用rbenv、rvm这类版本管理工具,先确认当前环境是不是项目指定的版本

    • 用rbenv的话,查看当前Ruby版本:
      rbenv version
      
    • 用rvm的话,查看当前gemset:
      rvm gemset list
      

    切换错环境的话,就算全局装了对应gem,当前项目环境里也找不到。

  • 手动安装activesupport指定版本:直接绕开bundler先把这个gem装上,再验证

    gem install activesupport -v 5.1.5
    bundle check
    

    bundle check会帮你确认所有Gemfile里的gem都已经正确安装在本地。

  • 用bundle exec执行RSpec:千万别直接跑rspec,一定要加bundle exec,这样才能确保用的是项目bundle里指定的gem版本,而不是系统全局的

    bundle exec rspec
    

如果以上都没用,最后可以试试删除Gemfile.lock,然后重新bundle install——不过这会更新所有未指定版本的gem,要是项目依赖比较严格的话,记得先备份一下原文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:12:58