bundle install circular dependencies

2019-07-26 20:28发布

问题:

The following console logs should describe the issue

bundle install
Could not find multi_json-1.1.0 in any of the sources
Run `bundle install` to install missing gems.

bundle install asks me to bundle install.

Have tried: https://github.com/mpapis/rubygems-bundler/issues/4
Looked at: https://github.com/carlhuda/bundler/issues/865

Not sure where to go next.

Also of interest, if we comment all the gems from inside vendor/gems the bundle works fine.

source 'http://rubygems.org'

gem 'rails', '~> 3.2.2'

gem 'mysql2'
gem 'thin'

# Asset template engines
gem 'coffee-script'
gem 'uglifier'
gem 'sprockets'
gem 'less-js'
gem 'execjs'
gem 'nokogiri'
gem 'lucy'
gem 'babilu'
gem 'simple_form'
gem 'mechanize'
gem 'geoip'
gem 'less'
gem 'bb-ruby'
gem 'client_side_validations', "~> 3.2.0.beta.2"
gem 'client_side_validations-simple_form'
gem 'require_all'

#for avatars
gem 'paperclip'

gem 'rmagick'
gem "multipart-post"
gem 'gibberish'
# Memcached client
gem 'dalli'

#to support tables without auto-incrementing primary keys
gem 'composite_primary_keys', "~> 5.0.1"

gem 'calendar_helper', :require => 'calendar_helper'

gem 'jquery-rails'

gem 'capistrano'
gem 'capistrano-ext'

gem 'simple_form'
gem 'htmlentities'
gem 'will_paginate'

gem 'airbrake', :path => "vendor/gems/airbrake"

gem "uservoice", :path => "vendor/gems/uservoice"

# For spambots
gem "honeypot-captcha"

# Internationalization GUI
gem "tolk", :git => "http://github.com/miloops/tolk.git", :branch => "rails31"
gem "will-paginate-i18n"

gem "omniauth"
gem "omniauth-facebook"
gem "omniauth-justintv", :git => 'http://github.com/themindoverall/omniauth-justintv.git'
gem 'oauth'

gem 'rails-i18n'

# For rate limiting
gem "rack-throttle", :path => "vendor/gems/rack-throttle"

gem "xfire-api", :path => "vendor/gems/xfire-api"
gem "anametrix", :path => "vendor/gems/anametrix"

#To make ruby debug work see: http://stackoverflow.com/questions/6438116/rails-with-ruby-debugger-throw-symbol-not-found-ruby-current-thread-loaderro
group :development, :test do
  #gem 'ruby-debug-base19', '0.11.26', :path => "~/.rvm/gems/ruby-1.9.3-p#{RUBY_PATCHLEVEL}/gems/ruby-debug-base19-0.11.26/"
  #gem 'linecache19', '0.5.13', :path => "~/.rvm/gems/ruby-1.9.3-p#{RUBY_PATCHLEVEL}/gems/linecache19-0.5.13/"
  #gem 'ruby-debug19', :require => 'ruby-debug'
  gem 'ruby_parser'
end

group :test do
  gem 'ruby-prof'
  gem 'test-unit' # For performance testing

  gem 'turn', :require => false
  gem 'factory_girl_rails', "~> 1.0.1"
  gem 'capybara', "~> 1.0.0"
  gem 'database_cleaner', '~> 0.6.7'

  gem 'rspec-rails', "~> 2.6.1"
  gem 'cucumber-rails', "~> 1.0.0"
  gem 'webrat', "~> 0.7.3"
  gem 'autotest'
  gem 'simplecov'
  gem 'autotest-rails-pure'

    gem 'simplecov', :require => false, :group => :test
  gem 'spork'
end

group :production do
    gem 'rack-google_analytics', :require => "rack/google_analytics"
end

回答1:

Have you declared that gem in your Gemfile? Sometimes it helps to specify a specific version as you've done for some:

gem 'multi-json', '1.1.0'


回答2:

If anyone turns out to be stuck on this what turned out to be the answer is one of our homegrown gems:

gem "xfire-api", :path => "vendor/gems/xfire-api"

had a require in it provided by a gem that was not specified in the gemspec. If you're stuck on this and have homegrown gems take a look through all your requires and makes sure all the files are provided by gems you specify in the Gemspec.