Understanding Gemfile.lock: Is it okay to delete Gemfile.lock then run bundle install again?

Crashalot picture Crashalot · Jan 11, 2013 · Viewed 21k times · Source

We would test this, but don't want to risk ruining our dev environment if this isn't supposed to happen.

Is it okay to delete Gemfile.lock?

We're on Rails 3.0.6.

Answer

jdl picture jdl · Jan 11, 2013

You're probably not going to ruin your dev environment. However, you might end up with newer versions of gems than you had before. It depends on how you have defined them in Gemfile.

If you're using entries like:

gem "rails"

Then you'll get the latest rails gem, whatever that might be.

If you're using entries like:

gem "rails", "3.2.11"

Then you'll get 3.2.11 again.

Having said all of that, this is what branches are for. Make a branch in git, hg, or whatever you're using, blow away Gemfile.lock, run bundle install, and then check your test suite. If it's horrible, then you can abandon the branch while you figure out what went wrong.

Another tip: Any time I've ever wanted to do this, I found that it was useful to clear out all of my installed gems as well. If you're using rvm with gemsets this is as simple as running

rvm gemset empty [gemset_name]