我有一个应用程序,我的测试通过了rails 3.0.6。我已经确定了一个git提交,其中唯一的变化是我将Gemfile中的rails版本从3.0.6更改为3.0.8,并运行bundle更新。之后,我的测试失败了。。。很公平。然而,当我试图降级到3.0.6时,我的测试仍然失败。。这表明降级的某些方面不起作用。我尝试以下操作
change version in Gemfile from 3.0.8 to 3.0.8
run bundle update
rm Gemfile.lock
rm -rf vendor/bundle/*
bundle install
在做了这些之后,我的测试仍然失败。我在这里不知所措。。我是不是在降级过程中遗漏了什么?
编辑:
当我在Gemfile中更改rails版本时,我有一个错误的假设,认为其他什么都没有改变。通过运行
bundle update
我的Gemfile.lock最终将我的一些gem更新到了他们新的github版本,而这些新的提交破坏了一切。当我提到我的Gemfile中的工作提交时,一切都恢复了
gem "carrierwave", :git => 'https://github.com/jnicklas/carrierwave.git', :ref => "0d2e9ee8706074059cb78f2f85232caf17327952"
看看RVM(代表ruby版本管理器)
这篇文章告诉你如何管理你的gem(例如:每个项目都有一组单独的gem)