Gemfile.lock 包含合并冲突
Posted
技术标签:
【中文标题】Gemfile.lock 包含合并冲突【英文标题】:Gemfile.lock contains merge conflicts 【发布时间】:2014-12-14 18:45:05 【问题描述】:我刚刚运行 git push origin master
并在尝试运行 rails s
后收到此错误:
Your Gemfile.lock contains merge conflicts.
Run `git checkout HEAD -- Gemfile.lock` first to get a clean lock.
git checkout HEAD --Gemfile.lock
bundle
、bundle install
和 bundle
更新均无助于解决此问题。有谁知道如何解决这个问题?
宝石文件:
source 'https://rubygems.org'
ruby "2.1.2"
gem 'devise'
gem 'twilio-ruby', '~> 3.12'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.2.0.beta2'
# Use postgresql as the database for Active Record
gem 'pg'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0.0.beta1'
# Use Uglifier as compressor for javascript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '~> 4.0.0'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# Use jQuery as the JavaScript library
gem 'jquery-rails', '~> 4.0.0.beta2'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0', group: :doc
group :development, :test do
# Call 'debugger' anywhere in the code to stop execution and get a debugger console
gem 'pry-byebug'
# Access an IRB console on exception pages or by using <%= console %> in views
gem 'web-console', '~> 2.0.0.beta4'
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
end
Gemfile.lock:
GEM
remote: https://rubygems.org/
specs:
actionmailer (4.2.0.beta2)
actionpack (= 4.2.0.beta2)
actionview (= 4.2.0.beta2)
activejob (= 4.2.0.beta2)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 1.0, >= 1.0.3)
actionpack (4.2.0.beta2)
actionview (= 4.2.0.beta2)
activesupport (= 4.2.0.beta2)
rack (~> 1.6.0.beta)
rack-test (~> 0.6.2)
rails-dom-testing (~> 1.0, >= 1.0.3)
rails-html-sanitizer (~> 1.0, >= 1.0.1)
actionview (4.2.0.beta2)
activesupport (= 4.2.0.beta2)
builder (~> 3.1)
erubis (~> 2.7.0)
rails-dom-testing (~> 1.0, >= 1.0.3)
rails-html-sanitizer (~> 1.0, >= 1.0.1)
activejob (4.2.0.beta2)
activesupport (= 4.2.0.beta2)
globalid (>= 0.3.0)
activemodel (4.2.0.beta2)
activesupport (= 4.2.0.beta2)
builder (~> 3.1)
activerecord (4.2.0.beta2)
activemodel (= 4.2.0.beta2)
activesupport (= 4.2.0.beta2)
arel (>= 6.0.0.beta1, < 6.1)
activesupport (4.2.0.beta2)
i18n (>= 0.7.0.beta1, < 0.8)
json (~> 1.7, >= 1.7.7)
minitest (~> 5.1)
thread_safe (~> 0.1)
tzinfo (~> 1.1)
addressable (2.3.6)
arel (6.0.0.beta1)
binding_of_caller (0.7.3.pre1)
debug_inspector (>= 0.0.1)
buftok (0.2.0)
builder (3.2.2)
byebug (3.5.1)
columnize (~> 0.8)
debugger-linecache (~> 1.2)
slop (~> 3.6)
coderay (1.1.0)
coffee-rails (4.0.1)
coffee-script (>= 2.2.0)
railties (>= 4.0.0, < 5.0)
coffee-script (2.3.0)
coffee-script-source
execjs
coffee-script-source (1.8.0)
columnize (0.8.9)
debug_inspector (0.0.2)
debugger-linecache (1.2.0)
equalizer (0.0.9)
erubis (2.7.0)
execjs (2.2.2)
faraday (0.9.0)
multipart-post (>= 1.2, < 3)
globalid (0.3.0)
activesupport (>= 4.1.0)
hike (1.2.3)
http (0.6.2)
http_parser.rb (~> 0.6.0)
http_parser.rb (0.6.0)
i18n (0.7.0.beta1)
jbuilder (2.2.2)
activesupport (>= 3.0.0, < 5)
multi_json (~> 1.2)
jquery-rails (4.0.0.beta2)
rails-dom-testing (~> 1.0)
railties (>= 4.2.0.beta, < 5.0)
thor (>= 0.14, < 2.0)
json (1.8.1)
jwt (1.0.0)
loofah (2.0.1)
nokogiri (>= 1.5.9)
mail (2.6.1)
mime-types (>= 1.16, < 3)
memoizable (0.4.2)
thread_safe (~> 0.3, >= 0.3.1)
method_source (0.8.2)
mime-types (2.4.2)
mini_portile (0.6.0)
minitest (5.4.2)
multi_json (1.10.1)
multipart-post (2.0.0)
naught (1.0.0)
nokogiri (1.6.3.1)
mini_portile (= 0.6.0)
pg (0.17.1)
pry (0.10.1)
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
pry-byebug (2.0.0)
byebug (~> 3.4)
pry (~> 0.10)
rack (1.6.0.beta)
rack-test (0.6.2)
rack (>= 1.0)
rails (4.2.0.beta2)
actionmailer (= 4.2.0.beta2)
actionpack (= 4.2.0.beta2)
actionview (= 4.2.0.beta2)
activejob (= 4.2.0.beta2)
activemodel (= 4.2.0.beta2)
activerecord (= 4.2.0.beta2)
activesupport (= 4.2.0.beta2)
bundler (>= 1.3.0, < 2.0)
railties (= 4.2.0.beta2)
sprockets-rails (~> 3.0.0.beta1)
rails-deprecated_sanitizer (1.0.3)
activesupport (>= 4.2.0.alpha)
rails-dom-testing (1.0.4)
activesupport (>= 4.2.0.beta, < 5.0)
nokogiri (~> 1.6.0)
rails-deprecated_sanitizer (>= 1.0.1)
rails-html-sanitizer (1.0.1)
loofah (~> 2.0)
railties (4.2.0.beta2)
actionpack (= 4.2.0.beta2)
activesupport (= 4.2.0.beta2)
rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0)
rake (10.3.2)
rdoc (4.1.2)
json (~> 1.4)
sass (3.4.6)
sass-rails (5.0.0.beta1)
railties (>= 4.0.0, < 5.0)
sass (~> 3.2)
sprockets (~> 2.12)
sprockets-rails (>= 2.0, < 4.0)
sdoc (0.4.1)
json (~> 1.7, >= 1.7.7)
rdoc (~> 4.0)
simple_oauth (0.2.0)
slop (3.6.0)
spring (1.1.3)
sprockets (2.12.2)
hike (~> 1.2)
multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
sprockets-rails (3.0.0.beta1)
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (~> 2.8)
thor (0.19.1)
thread_safe (0.3.4)
tilt (1.4.1)
turbolinks (2.4.0)
coffee-rails
<<<<<<< HEAD
twilio-ruby (3.13.1)
builder (>= 2.1.2)
jwt (~> 1.0.0)
multi_json (>= 1.3.0)
=======
twitter (5.11.0)
addressable (~> 2.3)
buftok (~> 0.2.0)
equalizer (~> 0.0.9)
faraday (~> 0.9.0)
http (~> 0.6.0)
http_parser.rb (~> 0.6.0)
json (~> 1.8)
memoizable (~> 0.4.0)
naught (~> 1.0)
simple_oauth (~> 0.2.0)
>>>>>>> 97cefa491ac4217bdee8557c84f3657355f9b049
tzinfo (1.2.2)
thread_safe (~> 0.1)
uglifier (2.5.3)
execjs (>= 0.3.0)
json (>= 1.8.0)
web-console (2.0.0.beta4)
activemodel (~> 4.0)
binding_of_caller (= 0.7.3.pre1)
railties (~> 4.0)
sprockets-rails (>= 2.0, < 4.0)
PLATFORMS
ruby
DEPENDENCIES
coffee-rails (~> 4.0.0)
jbuilder (~> 2.0)
jquery-rails (~> 4.0.0.beta2)
pg
pry-byebug
rails (= 4.2.0.beta2)
sass-rails (~> 5.0.0.beta1)
sdoc (~> 0.4.0)
spring
turbolinks
<<<<<<< HEAD
twilio-ruby (~> 3.12)
=======
twitter
>>>>>>> 97cefa491ac4217bdee8557c84f3657355f9b049
uglifier (>= 1.3.0)
web-console (~> 2.0.0.beta4)
【问题讨论】:
进入gemfile并消除冲突... @JoelL 我的 Gemfile 正是我想要的样子。 Gemfile.lock 有一些我从 Gemfile 中删除的东西,但我被告知不要编辑 Gemfile.lock。此外,我一直在频繁提交/推送,这是我第一次遇到错误(虽然文件相同)。 你能发布你的 gemfile.lock 吗? @JoelL 当然!刚刚将两个文件添加到编辑中 【参考方案1】:所以你的Gemfile.lock
充满了未解决的合并冲突。
GEM
remote: https://rubygems.org/
specs:
actionmailer (4.2.0.beta2)
actionpack (= 4.2.0.beta2)
actionview (= 4.2.0.beta2)
activejob (= 4.2.0.beta2)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 1.0, >= 1.0.3)
actionpack (4.2.0.beta2)
actionview (= 4.2.0.beta2)
activesupport (= 4.2.0.beta2)
rack (~> 1.6.0.beta)
rack-test (~> 0.6.2)
rails-dom-testing (~> 1.0, >= 1.0.3)
rails-html-sanitizer (~> 1.0, >= 1.0.1)
actionview (4.2.0.beta2)
activesupport (= 4.2.0.beta2)
builder (~> 3.1)
erubis (~> 2.7.0)
rails-dom-testing (~> 1.0, >= 1.0.3)
rails-html-sanitizer (~> 1.0, >= 1.0.1)
activejob (4.2.0.beta2)
activesupport (= 4.2.0.beta2)
globalid (>= 0.3.0)
activemodel (4.2.0.beta2)
activesupport (= 4.2.0.beta2)
builder (~> 3.1)
activerecord (4.2.0.beta2)
activemodel (= 4.2.0.beta2)
activesupport (= 4.2.0.beta2)
arel (>= 6.0.0.beta1, < 6.1)
activesupport (4.2.0.beta2)
i18n (>= 0.7.0.beta1, < 0.8)
json (~> 1.7, >= 1.7.7)
minitest (~> 5.1)
thread_safe (~> 0.1)
tzinfo (~> 1.1)
addressable (2.3.6)
arel (6.0.0.beta1)
binding_of_caller (0.7.3.pre1)
debug_inspector (>= 0.0.1)
buftok (0.2.0)
builder (3.2.2)
byebug (3.5.1)
columnize (~> 0.8)
debugger-linecache (~> 1.2)
slop (~> 3.6)
coderay (1.1.0)
coffee-rails (4.0.1)
coffee-script (>= 2.2.0)
railties (>= 4.0.0, < 5.0)
coffee-script (2.3.0)
coffee-script-source
execjs
coffee-script-source (1.8.0)
columnize (0.8.9)
debug_inspector (0.0.2)
debugger-linecache (1.2.0)
equalizer (0.0.9)
erubis (2.7.0)
execjs (2.2.2)
faraday (0.9.0)
multipart-post (>= 1.2, < 3)
globalid (0.3.0)
activesupport (>= 4.1.0)
hike (1.2.3)
http (0.6.2)
http_parser.rb (~> 0.6.0)
http_parser.rb (0.6.0)
i18n (0.7.0.beta1)
jbuilder (2.2.2)
activesupport (>= 3.0.0, < 5)
multi_json (~> 1.2)
jquery-rails (4.0.0.beta2)
rails-dom-testing (~> 1.0)
railties (>= 4.2.0.beta, < 5.0)
thor (>= 0.14, < 2.0)
json (1.8.1)
jwt (1.0.0)
loofah (2.0.1)
nokogiri (>= 1.5.9)
mail (2.6.1)
mime-types (>= 1.16, < 3)
memoizable (0.4.2)
thread_safe (~> 0.3, >= 0.3.1)
method_source (0.8.2)
mime-types (2.4.2)
mini_portile (0.6.0)
minitest (5.4.2)
multi_json (1.10.1)
multipart-post (2.0.0)
naught (1.0.0)
nokogiri (1.6.3.1)
mini_portile (= 0.6.0)
pg (0.17.1)
pry (0.10.1)
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
pry-byebug (2.0.0)
byebug (~> 3.4)
pry (~> 0.10)
rack (1.6.0.beta)
rack-test (0.6.2)
rack (>= 1.0)
rails (4.2.0.beta2)
actionmailer (= 4.2.0.beta2)
actionpack (= 4.2.0.beta2)
actionview (= 4.2.0.beta2)
activejob (= 4.2.0.beta2)
activemodel (= 4.2.0.beta2)
activerecord (= 4.2.0.beta2)
activesupport (= 4.2.0.beta2)
bundler (>= 1.3.0, < 2.0)
railties (= 4.2.0.beta2)
sprockets-rails (~> 3.0.0.beta1)
rails-deprecated_sanitizer (1.0.3)
activesupport (>= 4.2.0.alpha)
rails-dom-testing (1.0.4)
activesupport (>= 4.2.0.beta, < 5.0)
nokogiri (~> 1.6.0)
rails-deprecated_sanitizer (>= 1.0.1)
rails-html-sanitizer (1.0.1)
loofah (~> 2.0)
railties (4.2.0.beta2)
actionpack (= 4.2.0.beta2)
activesupport (= 4.2.0.beta2)
rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0)
rake (10.3.2)
rdoc (4.1.2)
json (~> 1.4)
sass (3.4.6)
sass-rails (5.0.0.beta1)
railties (>= 4.0.0, < 5.0)
sass (~> 3.2)
sprockets (~> 2.12)
sprockets-rails (>= 2.0, < 4.0)
sdoc (0.4.1)
json (~> 1.7, >= 1.7.7)
rdoc (~> 4.0)
simple_oauth (0.2.0)
slop (3.6.0)
spring (1.1.3)
sprockets (2.12.2)
hike (~> 1.2)
multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
sprockets-rails (3.0.0.beta1)
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (~> 2.8)
thor (0.19.1)
thread_safe (0.3.4)
tilt (1.4.1)
turbolinks (2.4.0)
coffee-rails
twilio-ruby (3.13.1)
builder (>= 2.1.2)
jwt (~> 1.0.0)
multi_json (>= 1.3.0)
twitter (5.11.0)
addressable (~> 2.3)
buftok (~> 0.2.0)
equalizer (~> 0.0.9)
faraday (~> 0.9.0)
http (~> 0.6.0)
http_parser.rb (~> 0.6.0)
json (~> 1.8)
memoizable (~> 0.4.0)
naught (~> 1.0)
simple_oauth (~> 0.2.0)
tzinfo (1.2.2)
thread_safe (~> 0.1)
uglifier (2.5.3)
execjs (>= 0.3.0)
json (>= 1.8.0)
web-console (2.0.0.beta4)
activemodel (~> 4.0)
binding_of_caller (= 0.7.3.pre1)
railties (~> 4.0)
sprockets-rails (>= 2.0, < 4.0)
PLATFORMS
ruby
DEPENDENCIES
coffee-rails (~> 4.0.0)
jbuilder (~> 2.0)
jquery-rails (~> 4.0.0.beta2)
pg
pry-byebug
rails (= 4.2.0.beta2)
sass-rails (~> 5.0.0.beta1)
sdoc (~> 0.4.0)
spring
turbolinks
twilio-ruby (~> 3.12)
twitter
uglifier (>= 1.3.0)
web-console (~> 2.0.0.beta4)
我刚刚删除了冲突。您应该能够将上面的代码添加到您的 Gemfile.lock 中,一切都应该没问题。
当你看到这个时:
<<<<<<< HEAD
twilio-ruby (~> 3.12)
=======
twitter
>>>>>>> 97cefa491ac4217bdee8557c84f3657355f9b049
在您的代码中,这意味着您遇到了合并冲突。
【讨论】:
强烈推荐以下答案 - 如果您在 Gemfile.lock 中发现问题,请通过bundle install
解决它们,不要弄乱锁定文件
@JarvisJohnson running bundle install
说要运行'Run git checkout HEAD -- Gemfile.lock
'
是的,这就是我的意思@RickS - 按照bundle install
的说明操作,而不是尝试手动编辑锁定文件【参考方案2】:
您可以编辑 Gemfile.lock 以手动消除冲突
http://rubyinrails.com/2013/12/what-is-gemfile-lock/
【讨论】:
【参考方案3】:在任何分支中使用的 Gem 都应该已添加到 Gemfile。因此,您可以使用以下命令签出最新的干净 Gemfile.lock:
git checkout HEAD -- Gemfile.lock
然后运行 bundle install 安装必要的 gem 并重新生成 Gemfile.lock
【讨论】:
【参考方案4】:您的 Gemfile.lock 应该基于您当前的 Gemfile。它应该通过运行生成
bundle install
.
手动编辑既费时又容易出错。我建议采用以下方法。
首先,运行:
git checkout HEAD -- Gemfile.lock
让自己获得一个“干净”的 Gemfile.lock,因为没有它你将无法使用 bundle install。
如果由于某种原因这不起作用并且您仍然无法运行 bundle install 我会简单地从 gemfile.lock 中删除所有内容以修复合并冲突。
第二,运行:
bundle install
这将根据您的 Gemfile 重新生成您的 Gemfile.lock。然后,您可以添加文件并提交您的更改。
【讨论】:
以上是关于Gemfile.lock 包含合并冲突的主要内容,如果未能解决你的问题,请参考以下文章
Gemfile.lock 是不是应该包含在 .gitignore 中?
Ruby on Rails 中的 Gemfile 和 Gemfile.lock 有啥区别