我运行'gem update'试图修复我正在处理的其他应用中的问题。现在我的主应用程序无法正常工作,因为我有一堆太新的宝石。有没有办法撤消宝石更新?或者将我的宝石还原到我团队的Gemfile.lock文件中提到的版本?
更新:当我尝试运行'rake spec'时,它特别抱怨Rake
(Gem :: LoadError:你已经激活了rake 10.5.0,但你的Gemfile需要rake 10.4.2。在命令前加bundle exec
可以解决这个问题。)
答案 0 :(得分:4)
如果您当前拥有的gem的版本比Gemfile.lock中指定的更新,那么使用Gemfile.lock中提到的版本重写Gemfile并运行bundle install
就足够了。
我在本地测试了这个(降级了Gemfile.lock和Gemfile中的一个版本),bundler安装了旧版本没有问题。
答案 1 :(得分:2)
运行' gem uninstall rake'如果您有多个版本,它会询问您要删除的内容。
然后运行' gem install rake -v 10.4.2'安装正确的版本。
为我工作,而不是捆绑更新所有东西的风险要小得多。