我们会测试这一点,但不想冒险破坏我们的开发环境,如果这是不应该发生的。删除Gemfile.lock可以吗?Rails 3.0.6
hi3rlvi21#
你可能不会破坏你的开发环境。但是,您可能会得到比以前更新的gem版本。这取决于您在Gemfile中如何定义它们。如果您使用的条目如下:gem "rails"然后你会得到最新的rails gem,不管它是什么。如果您使用的条目如下:gem "rails", "3.2.11"然后你会再次得到3.2.11。说了这么多,这就是分支的作用。在git、hg或您正在使用的任何东西中创建一个分支,抛开Gemfile.lock,运行bundle install,然后检查您的测试套件。如果它很糟糕,那么你可以放弃这个分支,同时找出哪里出了问题。另一个提示:每当我想这样做的时候,我发现清除所有安装的gem也很有用。如果您使用rvm和gemsets,这就像运行rvm gemset empty [gemset_name]
Gemfile
gem "rails"
rails
gem "rails", "3.2.11"
git
hg
Gemfile.lock
bundle install
rvm
rvm gemset empty [gemset_name]
0x6upsns2#
可以删除Gemfile.lock,运行即可
生成一个新的Gemfile.lock。请注意,如果您没有在Gemfile上指定gem的任何版本,您将始终获得最新版本
sycxhyv73#
我知道这个问题已经得到了回答,但是对于碰巧在Google上看到这篇文章的其他人来说,你应该知道命令bundle init将重新生成Gemfile。
bundle init
ff29svar4#
我最近处理过这个问题,删除gemfile.lock时存在一个重大问题。如果它是在单独的远程环境中生成的,则可以使用单独的平台创建。在本地删除gemfile.lock会导致它在本地平台上生成,而远程环境可能没有本地平台。这将导致它在远程环境中失败。
4条答案
按热度按时间hi3rlvi21#
你可能不会破坏你的开发环境。但是,您可能会得到比以前更新的gem版本。这取决于您在
Gemfile
中如何定义它们。如果您使用的条目如下:
gem "rails"
然后你会得到最新的
rails
gem,不管它是什么。如果您使用的条目如下:
gem "rails", "3.2.11"
然后你会再次得到3.2.11。
说了这么多,这就是分支的作用。在
git
、hg
或您正在使用的任何东西中创建一个分支,抛开Gemfile.lock
,运行bundle install
,然后检查您的测试套件。如果它很糟糕,那么你可以放弃这个分支,同时找出哪里出了问题。另一个提示:每当我想这样做的时候,我发现清除所有安装的gem也很有用。如果您使用
rvm
和gemsets,这就像运行rvm gemset empty [gemset_name]
0x6upsns2#
可以删除
Gemfile.lock
,运行即可生成一个新的
Gemfile.lock
。请注意,如果您没有在Gemfile
上指定gem的任何版本,您将始终获得最新版本sycxhyv73#
我知道这个问题已经得到了回答,但是对于碰巧在Google上看到这篇文章的其他人来说,你应该知道命令
bundle init
将重新生成Gemfile。ff29svar4#
我最近处理过这个问题,删除gemfile.lock时存在一个重大问题。如果它是在单独的远程环境中生成的,则可以使用单独的平台创建。在本地删除gemfile.lock会导致它在本地平台上生成,而远程环境可能没有本地平台。这将导致它在远程环境中失败。