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

时间:2013-01-11 21:24:20

标签: ruby-on-rails ruby-on-rails-3 rubygems gemfile

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

可以删除Gemfile.lock吗?

我们正在使用Rails 3.0.6。

3 个答案:

答案 0 :(得分:24)

你可能不会破坏你的开发环境。但是,您最终可能会获得比以前更新的宝石版本。这取决于您在Gemfile中的定义方式。

如果您使用的条目如下:

gem "rails"

然后你将获得最新的rails宝石,无论它是什么。

如果您使用的条目如下:

gem "rails", "3.2.11"

然后你会再次获得3.2.11。

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

另一个提示:每当我想要这样做时,我发现清除所有已安装的宝石也很有用。如果您将rvm与gemsets一起使用,这就像运行

一样简单

rvm gemset empty [gemset_name]

答案 1 :(得分:3)

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

即可
bundle install

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

答案 2 :(得分:2)

我知道这已经得到了解答,但对于碰巧在Google上发布此帖子的其他人,您应该知道命令bundle init将重新生成Gemfile。