Trouble parsing bundler's conflict output message - bundler

I'm getting
Bundler could not find compatible versions for gem "railties":
In Gemfile:
some_gem was resolved to 0.0.1, which depends on
devise (>= 3.2.4, < 4.0.0) was resolved to 3.5.10, which depends on
railties (>= 3.2.6, < 5)
some_gem was resolved to 0.0.1, which depends on
rails (~> 4.0.13) was resolved to 4.0.13, which depends on
railties (= 4.0.13)
rspec-rails (~> 3.8) was resolved to 3.8.2, which depends on
railties (>= 3.0)
Doesn't railties = 4.0.13 satisfy all 3 railties version conditions?

At least, Devise requires railties (">= 4.1.0", "< 6.0"), as you can see here.
https://raw.githubusercontent.com/plataformatec/devise/master/devise.gemspec
So you can try specifying the version in your Gemfile:
gem 'railties', '~> 4.1.0'

Related

Way out of date GEM file and new to ruby..where to begin?

this was a project from 2015 ... so nothing has been update or made new....just dumped on my plate.
gem query --local
*** LOCAL GEMS ***
actionmailer (4.1.2)
actionpack (4.1.2)
actionview (4.1.2)
activemodel (4.1.2)
activerecord (4.1.2)
activesupport (4.1.3, 4.1.2)
arel (5.0.1.20140414130214)
bigdecimal (1.2.8)
builder (3.2.4)
bundler (1.17.3)
concurrent-ruby (1.1.10)
did_you_mean (1.0.0)
erubis (2.7.0)
i18n (0.9.5)
io-console (0.4.5)
json (1.8.3)
after running bundle install
So I'm wondering where I should begin to start getting this worked out.
Coming from a PHP/Python background....not liking this ruby ;)
bundler could not find compatible versions for gem "actionpack":
In Gemfile:
actionpack-action_caching was resolved to 1.2.2, which depends on
actionpack (>= 4.0.0)
rails_admin (~> 0.6.2) was resolved to 0.6.8, which depends on
kaminari (~> 0.14) was resolved to 0.17.0, which depends on
actionpack (>= 3.0.0)
rails (= 4.1.2) was resolved to 4.1.2, which depends on
actionpack (= 4.1.2)
rails (= 4.1.2) was resolved to 4.1.2, which depends on
sprockets-rails (~> 2.0) was resolved to 2.3.3, which depends on
actionpack (>= 3.0)
Bundler could not find compatible versions for gem "activemodel":
In Gemfile:
paperclip (~> 4.3) was resolved to 4.3.7, which depends on
activemodel (>= 3.2.0)
rails (= 4.1.2) was resolved to 4.1.2, which depends on
activemodel (= 4.1.2)
Bundler could not find compatible versions for gem "activesupport":
In Gemfile:
jbuilder (~> 2.0) was resolved to 2.6.4, which depends on
activesupport (>= 3.0.0)
paperclip (~> 4.3) was resolved to 4.3.7, which depends on
activesupport (>= 3.2.0)
rails (= 4.1.2) was resolved to 4.1.2, which depends on
activesupport (= 4.1.2)
rails (= 4.1.2) was resolved to 4.1.2, which depends on
sprockets-rails (~> 2.0) was resolved to 2.3.3, which depends on
activesupport (>= 3.0)
Bundler could not find compatible versions for gem "font-awesome-rails":
In Gemfile:
font-awesome-rails (= 4.1.0.0)
rails_admin (~> 0.6.2) was resolved to 0.6.8, which depends on
font-awesome-rails (< 5, >= 3.0)
Bundler could not find compatible versions for gem "i18n":
In Gemfile:
rails (= 4.1.2) was resolved to 4.1.2, which depends on
activesupport (= 4.1.2) was resolved to 4.1.2, which depends on
i18n (>= 0.6.9, ~> 0.6)
capistrano was resolved to 3.17.1, which depends on
i18n
Bundler could not find compatible versions for gem "jbuilder":
In Gemfile:
jbuilder (~> 2.0)
jpbuilder was resolved to 0.3.0, which depends on
jbuilder
Bundler could not find compatible versions for gem "jquery-rails":
In Gemfile:
jquery-rails
rails_admin (~> 0.6.2) was resolved to 0.6.8, which depends on
jquery-rails (< 5, >= 3.0)
Bundler could not find compatible versions for gem "mimemagic":
In Gemfile:
paperclip (~> 4.3) was resolved to 4.3.7, which depends on
mimemagic (= 0.3.0)
Could not find gem 'mimemagic (= 0.3.0)', which is required by gem 'paperclip (~> 4.3)', in any of the sources.
Bundler could not find compatible versions for gem "net-ssh":
In Gemfile:
capistrano was resolved to 3.17.1, which depends on
sshkit (>= 1.9.0) was resolved to 1.21.3, which depends on
net-scp (>= 1.1.2) was resolved to 4.0.0, which depends on
net-ssh (< 8.0.0, >= 2.6.5)
capistrano was resolved to 3.17.1, which depends on
sshkit (>= 1.9.0) was resolved to 1.21.3, which depends on
net-ssh (>= 2.8.0)
Bundler could not find compatible versions for gem "rack":
In Gemfile:
rails (= 4.1.2) was resolved to 4.1.2, which depends on
actionpack (= 4.1.2) was resolved to 4.1.2, which depends on
rack (~> 1.5.2)
passenger (>= 5.0.25) was resolved to 6.0.15, which depends on
rack
rails_admin (~> 0.6.2) was resolved to 0.6.8, which depends on
rack-pjax (~> 0.7) was resolved to 0.8.0, which depends on
rack (~> 1.1)
sass-rails (~> 4.0.3) was resolved to 4.0.5, which depends on
sprockets (< 3.0, ~> 2.8) was resolved to 2.12.5, which depends on
rack (~> 1.0)
devise was resolved to 4.8.1, which depends on
warden (~> 1.2.3) was resolved to 1.2.7, which depends on
rack (>= 1.0)
Bundler could not find compatible versions for gem "rails":
In Gemfile:
rails (= 4.1.2)
rails_admin (~> 0.6.2) was resolved to 0.6.8, which depends on
rails (~> 4.0)
Bundler could not find compatible versions for gem "railties":
In Gemfile:
rails_admin (~> 0.6.2) was resolved to 0.6.8, which depends on
coffee-rails (~> 4.0) was resolved to 4.2.2, which depends on
railties (>= 4.0.0)
devise was resolved to 4.8.1, which depends on
railties (>= 4.1.0)
font-awesome-rails (= 4.1.0.0) was resolved to 4.1.0.0, which depends on
railties (< 5.0, >= 3.2)
rails_admin (~> 0.6.2) was resolved to 0.6.8, which depends on
jquery-rails (< 5, >= 3.0) was resolved to 3.1.5, which depends on
railties (< 5.0, >= 3.0)
rails_admin (~> 0.6.2) was resolved to 0.6.8, which depends on
jquery-ui-rails (~> 5.0) was resolved to 5.0.5, which depends on
railties (>= 3.2.16)
js-routes was resolved to 1.4.14, which depends on
railties (>= 4)
rails (= 4.1.2) was resolved to 4.1.2, which depends on
railties (= 4.1.2)
sass-rails (~> 4.0.3) was resolved to 4.0.5, which depends on
railties (< 5.0, >= 4.0.0)
Bundler could not find compatible versions for gem "ruby":
In Gemfile:
ruby
aws-sdk was resolved to 3.1.0, which depends on
ruby (>= 2.3)
rails (= 4.1.2) was resolved to 4.1.2, which depends on
bundler (< 2.0, >= 1.3.0) was resolved to 1.17.3, which depends on
ruby (>= 1.8.7)
byebug was resolved to 11.0.1, which depends on
ruby (>= 2.3.0)
capistrano was resolved to 3.17.1, which depends on
ruby (>= 2.0)
guard-livereload was resolved to 2.5.2, which depends on
guard (~> 2.8) was resolved to 2.18.0, which depends on
pry (>= 0.13.0) was resolved to 0.14.1, which depends on
coderay (~> 1.1) was resolved to 1.1.3, which depends on
ruby (>= 1.8.6)
devise was resolved to 4.8.1, which depends on
ruby (>= 2.1.0)
guard-livereload was resolved to 2.5.2, which depends on
guard (~> 2.8) was resolved to 2.18.0, which depends on
listen (< 4.0, >= 2.7) was resolved to 3.5.0, which depends on
ruby (>= 2.2.7)
rails (= 4.1.2) was resolved to 4.1.2, which depends on
activesupport (= 4.1.2) was resolved to 4.1.2, which depends on
minitest (~> 5.1) was resolved to 5.15.0, which depends on
ruby (< 4.0, >= 2.2)
rails_admin (~> 0.6.2) was resolved to 0.6.8, which depends on
rack-pjax (~> 0.7) was resolved to 0.8.0, which depends on
nokogiri (~> 1.5) was resolved to 1.12.5, which depends on
ruby (>= 2.5.0)
paperclip (~> 4.3) was resolved to 4.3.7, which depends on
ruby (>= 1.9.2)
rails_admin (~> 0.6.2) was resolved to 0.6.8, which depends on
ruby (>= 1.9.3)
capistrano was resolved to 3.17.1, which depends on
rake (>= 10.0.0) was resolved to 13.0.6, which depends on
ruby (>= 2.2)
Bundler could not find compatible versions for gem "sass-rails":
In Gemfile:
sass-rails (~> 4.0.3)
rails_admin (~> 0.6.2) was resolved to 0.6.8, which depends on
sass-rails (< 6, >= 4.0)
Bundler could not find compatible versions for gem "sprockets":
In Gemfile:
sass-rails (~> 4.0.3) was resolved to 4.0.5, which depends on
sprockets (< 3.0, ~> 2.8)
rails (= 4.1.2) was resolved to 4.1.2, which depends on
sprockets-rails (~> 2.0) was resolved to 2.3.3, which depends on
sprockets (< 4.0, >= 2.8)
And the GEMFILE
source 'https://rubygems.org'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.1.2'
# Use mysql as the database for Active Record
gem 'mysql2', '~> 0.3.18'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.3'
# 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
gem 'therubyracer', platforms: :ruby
# Use jquery as the JavaScript library
gem 'jquery-rails'
# 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'
gem 'jpbuilder'
# bundle exec rake doc:rails generates the API under doc/api.
# gem 'sdoc', '~> 0.4.0', group: :doc
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring', group: :development
gem "passenger", ">= 5.0.25", require: "phusion_passenger/rack_handler"
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'
# Use unicorn as the app server
# gem 'unicorn'
# Use Capistrano for deployment
group :development do
gem 'capistrano'
gem 'capistrano-rails'
gem 'capistrano-bundler'
gem 'capistrano-faster-assets', '~> 1.0'
gem 'capistrano-rbenv'
gem 'capistrano-passenger'
gem 'byebug'
end
# Use debugger
# gem 'debugger', group: [:development, :test]
# https://github.com/plataformatec/devise
gem 'devise'
# https://github.com/sferik/rails_admin
gem 'rails_admin', '~> 0.6.2'
# https://github.com/thoughtbot/paperclip
gem 'paperclip', '~> 4.3'
# https://github.com/42dev/bower-rails
gem 'bower-rails', '~> 0.9.0'
# https://github.com/guard/guard-livereload
gem 'guard-livereload', group: :development
# https://github.com/johnbintz/rack-livereload
gem 'rack-livereload', group: :development
# http://railsware.github.io/js-routes/
gem 'js-routes'
# https://github.com/aws/aws-sdk-ruby
gem 'aws-sdk'
# Action caching. Read more: https://github.com/rails/actionpack-action_caching
gem 'actionpack-action_caching'
# Dalli memcached client. Read more: https://github.com/mperham/dalli
gem 'dalli'
# https://github.com/bokmann/font-awesome-rails
gem 'font-awesome-rails', '4.1.0.0'
# WYSIWYG editor for admin backend. Read more: https://github.com/galetahub/ckeditor
gem 'ckeditor'```
This Rails version remembers the last mammoths so what did you expect? :)
First things first:
Double check you are not trying to build this project on the bleeding edge Ruby (3.x). Even the latest 2.x might be a problem with Rails that old. Google "Rails & Ruby compatibility" to check which Ruby version is recommended for this fossil and don't try to move too far ahead. Use some Ruby version manager to switch between versions easily (my choice is asdf, but more common rbenv or rvm work too).
If downgrading Ruby doesn't help, try removing Gemfile.lock (copy it somewhere just in case) and reinstalling dependencies. Bundler locks dependencies there to minimize the surface of dependencies' changes. This is a very good thing during the normal development cycle, but for "archeological excavations" like the one you have to work with this might be a problem. With the lock file removed bundler will re-evaluate the dependencies graph from scratch so most of the conflicts you see now should be resolved. Probably :)
Be ready that even after this, you might have conflicts that the bundler cannot resolve on its own (due to some older versions of dependencies that are unavailable anymore etc).

Transitive gem not resolving correctly

Bundler could not find compatible versions for gem "activemodel":
In Gemfile:
rails (= 5.1.6.1) was resolved to 5.1.6.1, which depends on
activemodel (= 5.1.6.1)
web-console (~> 3.7.0) was resolved to 3.7.0, which depends on
activemodel (>= 5.0)
Shouldn't the transitive activemodel of web-console resolve to 5.1.6.1? Maybe I am confused on how these gems are being resolved.
Regardless these should be compatible.
The entire message:
Bundler could not find compatible versions for gem "activemodel":
In Gemfile:
rails (= 5.1.6.1) was resolved to 5.1.6.1, which depends on
activemodel (= 5.1.6.1)
web-console (~> 3.7.0) was resolved to 3.7.0, which depends on
activemodel (>= 5.0)
Bundler could not find compatible versions for gem "railties":
In Gemfile:
coffee-rails was resolved to 4.1.1, which depends on
railties (< 5.1.x, >= 4.0.0)
jquery-rails was resolved to 4.3.1, which depends on
railties (>= 4.2.0)
rails (= 5.1.6.1) was resolved to 5.1.6.1, which depends on
railties (= 5.1.6.1)
sass-rails (~> 5.0) was resolved to 5.0.6, which depends on
railties (< 6, >= 4.0.0)
web-console (~> 3.7.0) was resolved to 3.7.0, which depends on
railties (>= 5.0)

Why is bundler requiring an extremely old version of a gem when version not specified?

I have a Gemfile that looks like this:
gem 'google-api-client', :require => 'google/api_client'
gem 'my_baseimage', '0.0.3', :git => 'https://github.com/xxx/BaseImage.git'
I have a base gem that requires a bunch of common gems across projects.
However, when I run bundle install, I see errors like this:
In Gemfile:
activerecord (>= 0) ruby depends on
activemodel (= 4.1.11) ruby depends on
activesupport (= 4.1.11) ruby
activerecord (>= 0) ruby depends on
activemodel (= 4.1.11) ruby depends on
activesupport (= 4.1.11) ruby
google-api-client (>= 0) ruby depends on
activesupport (~> 3.2) ruby
Bundler could not find compatible versions for gem "rack":
In Gemfile:
rack-contrib (= 1.1.0) ruby depends on
rack (>= 0.9.1) ruby
sinatra (>= 0) ruby depends on
rack (~> 1.4) ruby
google-api-client (>= 0) ruby depends on
rack (= 1.2.0) ruby
rack (>= 0) ruby
google-api-client hasn't required rack 1.2 since, like, version 0.1, and moreover my_baseimage requires 0.7.1. When I run a gem dependency -R, I see this:
google-api-client-0.7.1 (addressable (>= 2.3.2))
google-api-client-0.7.1 (autoparse (>= 0.3.3))
google-api-client-0.7.1 (extlib (>= 0.9.15))
google-api-client-0.7.1 (faraday (>= 0.9.0))
Gem google-api-client-0.7.1
google-api-client-0.7.1 (jwt (>= 0.1.5))
google-api-client-0.7.1 (launchy (>= 2.1.1))
google-api-client-0.7.1 (multi_json (>= 1.0.0))
google-api-client-0.7.1 (rake (>= 0.9.0, development))
google-api-client-0.7.1 (rake (>= 0.9.0, development))
google-api-client-0.7.1 (retriable (>= 1.4))
google-api-client-0.7.1 (rspec (>= 2.11.0, development))
google-api-client-0.7.1 (signet (>= 0.5.0))
google-api-client-0.7.1 (uuidtools (>= 2.1.0))
I was able to work around this issue by, in my Gemfile, specifying 0.7.1, as follows:
gem 'google-api-client', '0.7.1', :require => 'google/api_client'
gem 'my_baseimage', '0.0.3', :git => 'https://github.com/xxx/BaseImage.git'
However, I was hoping that in my project-specific gemfiles I would not have to specified gem versions, they'd just take them from my_baseimage as-is.
Can anyone suggest why it would appear that bundle install is defaulting to a very old version of google-api-client when the dependency graph specifies the one I want (0.7.1) and my_baseimage also specifies the one I want (0.7.1)?
Bundler uses rubygems, which, when not given a specific version, defaults to the last version marked 'stable', which, if the tag isn't maintained, can mean even terribly deprecated builds.

Rubygems Loading Wrong Version of Gem

I'm working on a Gem.
Despite specifying the version of activemodel, the gem is actually using activemodel 4.0.0.
As of 4.0.0 the constructor only takes a single argument. So when I try and pass in a second argument I get an Argument error:
/Users/me/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activerecord-4.0.0/lib/active_record/core.rb:180:in `initialize': wrong number of arguments (2 for 1) (ArgumentError)
Why is Rubygems using the wrong version of ActiveModel?
I have specified the following dependencies in the gemspec:
gem.add_dependency "log4r"
gem.add_dependency "deep_end"
gem.add_dependency "google_drive"
gem.add_development_dependency 'rake'
gem.add_development_dependency 'rspec'
gem.add_development_dependency "activemodel", "3.2.13"
gem.add_development_dependency "activerecord", "3.2.13"
gem.add_development_dependency "activesupport", "3.2.13"
My Gemfile.lock looks like this:
PATH
remote: .
specs:
drive_time (0.0.1)
deep_end
google_drive
log4r
GEM
remote: https://rubygems.org/
specs:
activemodel (3.2.13)
activesupport (= 3.2.13)
builder (~> 3.0.0)
activerecord (3.2.13)
activemodel (= 3.2.13)
activesupport (= 3.2.13)
arel (~> 3.0.2)
tzinfo (~> 0.3.29)
activesupport (3.2.13)
i18n (= 0.6.1)
multi_json (~> 1.0)
arel (3.0.2)
builder (3.0.4)
deep_end (0.0.1)
log4r
diff-lcs (1.2.4)
faraday (0.8.7)
multipart-post (~> 1.1)
google_drive (0.3.6)
nokogiri (>= 1.4.4, != 1.5.2, != 1.5.1)
oauth (>= 0.3.6)
oauth2 (>= 0.5.0)
httpauth (0.2.0)
i18n (0.6.1)
jwt (0.1.8)
multi_json (>= 1.5)
log4r (1.1.10)
mini_portile (0.5.0)
multi_json (1.7.7)
multi_xml (0.5.4)
multipart-post (1.2.0)
nokogiri (1.6.0)
mini_portile (~> 0.5.0)
oauth (0.4.7)
oauth2 (0.9.2)
faraday (~> 0.8)
httpauth (~> 0.2)
jwt (~> 0.1.4)
multi_json (~> 1.0)
multi_xml (~> 0.5)
rack (~> 1.2)
rack (1.5.2)
rake (10.1.0)
rspec (2.13.0)
rspec-core (~> 2.13.0)
rspec-expectations (~> 2.13.0)
rspec-mocks (~> 2.13.0)
rspec-core (2.13.1)
rspec-expectations (2.13.0)
diff-lcs (>= 1.1.3, < 2.0)
rspec-mocks (2.13.1)
tzinfo (0.3.37)
PLATFORMS
ruby
DEPENDENCIES
activerecord (= 3.2.13)
activesupport (= 3.2.13)
drive_time!
rake
rspec
I also get the following:
$ bundle show activemodel #/Users/pedr/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activemodel-3.2.13
Make sure you are running your code with bundle exec, otherwise ruby will default to using the most recent version of the gem you have installed.
Using bundle exec will disallow loading of any gems not in your bundle and should correct your problem. Check out the manpage for more details.
Hope this helps!
After trying everything I could think of, the following has done the trick (though whether it has permanently cured the issue, only time will tell).
$ gem clean
Uninstall rbenv
Install rbenv
Delete Gemfile.lock
$ bundle

heroku, thin rack 1.1.0, gemfile requires rack 1.0.1

My ror app runs on rails 2.3.5(which requires rack 1.0.1),
thin on heroku activates rack 1.1.0 by default
and throws error:
" You have already activated rack 1.1.0, but your Gemfile requires rack 1.0.1. Consider using bundle exec."
my Gemfile:
source 'http://rubygems.org'
group :test, :development do
gem "rack","1.0.1"
end
gem "rails","2.3.5"
gem "mysql"
gem "rake", "0.8.3"
gem "declarative_authorization", "0.5.2"
gem "searchlogic"
gem "prawn", "0.6.3"
gem "thin","1.2.11"
group :test, :development do
gem "rack","1.0.1"
end
group :development do
# bundler requires these gems in development
# gem "rails-footnotes"
end
group :test do
# bundler requires these gems while running tests
# gem "rspec"
# gem "faker"
end
----------------------
I installed bundler and developed Gemfile.lock :
GEM
remote: http://rubygems.org/
specs:
actionmailer (2.3.5)
actionpack (= 2.3.5)
actionpack (2.3.5)
activesupport (= 2.3.5)
rack (~> 1.0.0)
activerecord (2.3.5)
activesupport (= 2.3.5)
activeresource (2.3.5)
activesupport (= 2.3.5)
activesupport (2.3.5)
daemons (1.1.4)
declarative_authorization (0.5.2)
eventmachine (0.12.10)
mysql (2.8.1)
prawn (0.6.3)
prawn-core (>= 0.6.3, < 0.7)
prawn-format (>= 0.2.3, < 0.3)
prawn-layout (>= 0.3.2, < 0.4)
prawn-security (>= 0.1.1, < 0.2)
prawn-core (0.6.3)
prawn-format (0.2.3)
prawn-core
prawn-layout (0.3.2)
prawn-security (0.1.1)
rack (1.0.1)
rails (2.3.5)
actionmailer (= 2.3.5)
actionpack (= 2.3.5)
activerecord (= 2.3.5)
activeresource (= 2.3.5)
activesupport (= 2.3.5)
rake (>= 0.8.3)
rake (0.8.3)
searchlogic (2.4.28)
activerecord (>= 2.0.0)
thin (1.2.11)
daemons (>= 1.0.9)
eventmachine (>= 0.12.6)
rack (>= 1.0.0)
PLATFORMS
ruby
DEPENDENCIES
declarative_authorization (= 0.5.2)
mysql
prawn (= 0.6.3)
rack (= 1.0.1)
rails (= 2.3.5)
rake (= 0.8.3)
searchlogic
thin (= 1.2.11)
---------------------------
Please help me deploy it on heroku........
Solved it...
my app uses rack 1.0.1 , rails 2.3.5
and heroku activates rake 1.1.0 by default..
so i switched my rails app version to 2.3.11 which uses rack 1.1.2 in environment.rb and created a Gem file,
installed bundler
tested on my laptop...
generated lock file and pushed it to heroku...
finally worked....
took a week to get my app working...
:)

Resources