Bundler update dependencies clash - ruby

Each time I update gems with bundler I got something I really do not fully understand. Although it resolves in some way in the end :)
So in this example I really can't get why the 1.11.1 is not fit in the constrains:
1.11.1 is >= 1.3.3
and >= 1.5.11, < 2.0.0
and ~> 1
and ~> 1.3
right?
Bundler could not find compatible versions for gem "nokogiri":
In Gemfile:
nokogiri (= 1.11.1)
cuprite (~> 0.8) was resolved to 0.8, which depends on
capybara (>= 2.1, < 4) was resolved to 2.18.0, which depends on
nokogiri (>= 1.3.3)
s3_uploader was resolved to 0.2.3, which depends on
fog-aws (>= 0.9.4) was resolved to 3.5.2, which depends on
fog-xml (~> 0.1) was resolved to 0.1.3, which depends on
nokogiri (>= 1.5.11, < 2.0.0)
mimemagic (= 0.3.10) was resolved to 0.3.10, which depends on
nokogiri (~> 1)
cuprite (~> 0.8) was resolved to 0.8, which depends on
capybara (>= 2.1, < 4) was resolved to 2.18.0, which depends on
xpath (>= 2.0, < 4.0) was resolved to 2.1.0, which depends on
nokogiri (~> 1.3)
Thanks guys!

Related

Bundler Dependency Failed to Resolve

Updating Rails from 5 to 6, I get this dependency error:
Bundler could not find compatible versions for gem "rubyzip":
In Gemfile:
rubyzip (~> 1.2.2)
roo (~> 2.6) was resolved to 2.8.2, which depends on
rubyzip (< 2.0.0, >= 1.2.1)
selenium-webdriver (~> 3.142) was resolved to 3.142.7, which depends on
rubyzip (>= 1.2.2)
I must be reading this wrong because from what I can see, the 2 conflicting gems should both be ok with v 1.2.2 of rubyzip.
What is the very fundamental that I'm missing? There are some other dependencies out of whack in the rest of the output, but this is the only one concerning rubyzip

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).

Bundler compatible versions for gem "jekyll"

I'm trying to setup github page using Jekyll, currently it is using minima theme, and I want to change it to jekyll-theme-hacker.
So, I went to Gemfile,
I added
gem "github-pages", group:jekyll_plugins
under the
gem "minima", "~>2.5"
And after saving it, I did
bundle install
But this gives me the error.
Bundler could not find compatible versions for gem "jekyll":
In snapshot (Gemfile.lock):
jekyll (= 4.0.0)
In Gemfile:
jekyll (~> 4.0.0)
jekyll-theme-hacker was resolved to 0.0.4, which depends on
jekyll (~> 3.3)
Running `bundle update` will rebuild your snapshot from scratch, using
only
the gems in your Gemfile, which may resolve the conflict.
I am very new to the Jekyll and Programming, I wonder why this happened.
As far as what I could figure out was, Bundler is a Gem management tool, which Gem stands for the library or module for ruby programming langauge. So what I was trying to do was trying to install all the necessary things for the my new theme.
However bundler could not find compatible versions for gem "jekyll".
What does this exactly mean? Do I need a different dependency of jekyll to use my new theme?
If it is so, How can I do it?
Thanks a lot in advance.
----EDIT----
This is how my Gemfile.lock looks like
GEM
remote: https://rubygems.org/
specs:
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
colorator (1.1.0)
concurrent-ruby (1.1.5)
em-websocket (0.5.1)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
eventmachine (1.2.7)
ffi (1.11.1)
forwardable-extended (2.6.0)
http_parser.rb (0.6.0)
i18n (1.7.0)
concurrent-ruby (~> 1.0)
jekyll (4.0.0)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (>= 0.9.5, < 2)
jekyll-sass-converter (~> 2.0)
jekyll-watch (~> 2.0)
kramdown (~> 2.1)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
mercenary (~> 0.3.3)
pathutil (~> 0.9)
rouge (~> 3.0)
safe_yaml (~> 1.0)
terminal-table (~> 1.8)
jekyll-feed (0.12.1)
jekyll (>= 3.7, < 5.0)
jekyll-sass-converter (2.0.1)
sassc (> 2.0.1, < 3.0)
jekyll-seo-tag (2.6.1)
jekyll (>= 3.3, < 5.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
kramdown (2.1.0)
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
listen (3.2.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.3.6)
minima (2.5.1)
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.1)
rb-fsevent (0.10.3)
rb-inotify (0.10.0)
ffi (~> 1.0)
rouge (3.11.1)
safe_yaml (1.0.5)
sassc (2.2.1)
ffi (~> 1.9)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
thread_safe (0.3.6)
tzinfo (1.2.5)
thread_safe (~> 0.1)
tzinfo-data (1.2019.3)
tzinfo (>= 1.0.0)
unicode-display_width (1.6.0)
wdm (0.1.1)
PLATFORMS
ruby
DEPENDENCIES
jekyll (~> 4.0.0)
jekyll-feed (~> 0.12)
minima (~> 2.5)
tzinfo (~> 1.2)
tzinfo-data
wdm (~> 0.1.1)
BUNDLED WITH
2.0.2
Edit your Gemfile to look like this :
source 'https://rubygems.org'
gem 'github-pages'
Remove your Gemfile.lock
Launch a bundle command.
That's it !
You're ready to deploy to github pages.
This is occurring because you are requesting conflicting versions of Jeykll. One option is to downgrade the version of Jeykll you are using by changing it in your Gemfile
-jekyll (~> 4.0.0)
+jekyll (~> 3.3)
and then running bundle update jekyll
If you wanted to run the latest version, you could fork the Gem, update the jekyll dependency version and test the changes. If it is working as expected you should submit a PR to the original repo and could use the fork while waiting for it to be merged.
Version 3.7 worked for me, you could try and check the same.

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)

unable to find a version of 'run_loop' to activate (Gem::LoadError)

I am getting below mentioned error in Calabash-IOS during execute any cucumber command for executing feature file.
unable to find a version of 'run_loop' to activate (Gem::LoadError)
I am using gem versions which is given below-
command_runner_ng (0.1.0)
cucumber (2.4.0, 1.3.20)
cucumber-core (1.5.0)
cucumber-wire (0.0.1)
calabash-cucumber (0.19.2, 0.12.3)
Thanks
This is because of multiple versions of cucumber. Uninstall the cucumber and reinstall again solves the problem.
$ gem uninstall cucumber
$ gem install cucumber
Running gem dependency --remote calabash-cucumber shows a fairly extensive list of dependencies:
Gem calabash-cucumber-0.19.2:
awesome_print (>= 0)
bundler (~> 1.3)
clipboard (~> 1.0)
cucumber (>= 0)
edn (< 2.0, >= 1.0.6)
geocoder (< 2.0, >= 1.1.8)
growl (>= 0, development)
guard-bundler (>= 0, development)
guard-rspec (>= 0, development)
httpclient (< 3.0, >= 2.3.2)
json (>= 0)
listen (= 3.0.6, development)
luffa (>= 1.1.0, development)
oj (~> 2.0, development)
pry (>= 0, development)
pry-nav (>= 0, development)
rake (= 10.5.0, development)
redcarpet (= 3.2.0, development)
rspec (>= 0, development)
rspec_junit_formatter (>= 0, development)
run_loop (< 3.0, >= 2.1.3)
slowhandcuke (~> 0.0.3)
stub_env (>= 0, development)
yard (~> 0.8, development)
Fourth from the bottom, it seems run_loop needs to be at least 2.1.3 and less than 3.0 for the version of calabash-cucumber you're using. I would suggest that you start by verifying that an appropriate version is installed. Try running:
gem list run_loop
If the version installed is within the listed version range, then it's possible one of the other gems you're using (including a dependency of a gem) might have different or more specific requirements. I don't know of a great way to check that automatically (short of writing a short Ruby program to do some creative grepping), but poking around at the main gems you're requiring is reasonably likely to uncover the issue.

Resources