了解Gemfile.lock:是否可以删除Gemfile.lock然后再次运行bundle install?

我们会对此进行测试,但如果不应该发生这种情况,我们不想冒破坏我们的开发环境的风险。

是否可以删除Gemfile.lock?

我们在Rails 3.0.6上。

你可能不会破坏你的开发环境。 但是,您最终可能会获得比以前更新的gem版本。 这取决于你如何在Gemfile定义它们。

如果您使用的条目如下:

gem "rails"

然后你会获得最新的rails gem,无论它是什么。

如果您使用的条目如下:

gem "rails", "3.2.11"

然后你会再次获得3.2.11。

说完所有这些,这就是分支机构的用途。 在githg或者你正在使用的任何东西中创建一个分支,吹走Gemfile.lock ,运行bundle install ,然后检查你的测试套件。 如果它太可怕了,那么你可以放弃分支,同时找出问题所在。

另一个提示:每当我想要这样做时,我发现清除所有已安装的gem也很有用。 如果你正在使用带有gemsets的rvm,这就像运行一样简单

rvm gemset empty [gemset_name]

我知道这已经得到了解答,但是对于碰巧在Google上发过这篇文章的其他人来说,你应该知道命令bundle init会重新生成Gemfile。

可以删除Gemfile.lock ,只需运行即可

 bundle install 

生成一个新的Gemfile.lock 。 请注意,如果您未在Gemfile指定任何版本的gem,您将始终获得最新版本