backup / backup

Easy full stack backup operations on UNIX-like systems.
http://backup.github.io/backup/v4/
MIT License
4.83k stars 674 forks source link

`gem install backup` fails with Gem::ImpossibleDependenciesError #599

Closed betesh closed 9 years ago

betesh commented 9 years ago
me@local:~$ gem list

*** LOCAL GEMS ***

actionmailer (4.1.6, 3.2.18)
actionpack (4.1.6, 3.2.18)
actionview (4.1.6)
active_utils (2.2.3)
activeadmin (0.6.3)
activemerchant (1.44.1)
activemodel (4.1.6, 3.2.18)
activerecord (4.1.6, 3.2.18)
activeresource (3.2.18)
activesupport (4.1.6, 3.2.18)
addressable (2.3.6)
arbre (1.0.2)
arel (5.0.1.20140414130214, 3.0.3)
attr_required (1.0.0)
aws-sdk (1.56.0)
aws-sdk-v1 (1.56.0)
backports (3.6.3)
bcdatabase (1.2.4)
bcrypt (3.1.7)
bootstrap-sass (3.1.1.1)
bourbon (3.2.3)
breach-mitigation-rails (0.2.2)
builder (3.2.2, 3.0.4)
bundler (1.7.4)
bundler-unload (1.0.2)
cap-deploy-tagger (0.1.0)
capistrano (3.2.1)
capistrano-bundler (1.1.3)
capistrano-passenger (0.0.1)
capistrano-rails (1.1.2)
capistrano-rvm (0.1.2)
chronic (0.10.2)
client_side_validations (3.2.6)
client_side_validations-formtastic (2.2.1)
climate_control (0.0.3)
cocaine (0.5.4)
coffee-rails (3.2.2)
coffee-script (2.3.0)
coffee-script-source (1.8.0)
colorize (0.7.3)
commonjs (0.2.7)
database_cleaner (1.3.0)
delayed_job (4.0.4)
delayed_job_active_record (4.0.2)
devise (3.4.0)
diff-lcs (1.2.5)
docile (1.1.5)
erubis (2.7.0)
exception_notification (4.0.1, 3.0.1)
execjs (2.2.2)
executable-hooks (1.3.2)
factory_girl (4.5.0)
factory_girl_rails (4.5.0)
fb_graph (2.7.17)
ffi (1.9.6)
font-awesome-rails (4.2.0.0)
formtastic (2.2.1)
gchart (1.0.0)
gem-wrappers (1.2.7)
google-webfonts-rails (0.0.4)
haml (4.0.5)
haml-rails (0.4)
has_scope (0.6.0.rc)
highline (1.6.8)
hike (1.2.3)
hoe (3.13.0)
httpclient (2.5.1)
i18n (0.6.11)
inherited_resources (1.5.0)
journey (1.0.4)
jquery-rails (2.3.0)
jquery-ui-rails (4.2.1)
json (1.8.1)
kaminari (0.16.1)
less (2.5.1)
less-rails (2.5.0)
libv8 (3.16.14.7 x86_64-linux)
liquid (2.6.1)
mail (2.6.1, 2.5.4)
mblox (0.5.1)
meta_search (1.1.3)
mime-types (2.4.3, 1.25.1)
mini_magick (3.8.1)
mini_portile (0.6.0)
minitest (5.4.2)
momentjs-rails (2.8.3)
money (6.3.0)
multi_json (1.10.1)
mysql2 (0.3.16)
net-scp (1.2.1)
net-ssh (2.9.1)
nmi_direct_post (0.1.2)
nokogiri (1.6.3.1)
oauth (0.4.7)
offsite_payments (2.0.1)
orm_adapter (0.5.0)
paperclip (4.2.0)
pdf-core (0.4.0)
polyamorous (0.5.0)
polyglot (0.3.5)
prawn (1.3.0)
prawn-table (0.1.2)
prawn_rails (0.0.11)
rack (1.5.2, 1.4.5)
rack-cache (1.2)
rack-oauth2 (1.0.8)
rack-protection (1.5.3)
rack-ssl (1.3.4)
rack-test (0.6.2)
rails (3.2.18)
rails-timeago (2.11.1)
railties (4.1.6, 3.2.18)
rake (10.3.2)
rb-readline (0.4.2)
rdoc (3.12.2)
ref (1.0.5)
responders (1.1.1)
rqrcode (0.4.2)
rqrcode-rails3 (0.1.7)
rspec (3.1.0)
rspec-core (3.1.7)
rspec-expectations (3.1.2)
rspec-mocks (3.1.3)
rspec-rails (3.1.0)
rspec-support (3.1.2)
rubygems-bundler (1.4.4)
rvm (1.11.3.9)
sass (3.4.6)
sass-rails (3.2.6)
shoulda-matchers (2.7.0)
simplecov (0.9.1)
simplecov-html (0.8.0)
sinatra (1.4.5)
sinatra-contrib (1.4.2)
social_count (0.0.7)
spoon (0.0.4)
sprockets (2.2.2)
sshkit (1.5.1)
subexec (0.2.3)
therubyracer (0.12.1)
thor (0.19.1)
thread_safe (0.3.4)
thread_variables (0.2.0)
tilt (1.4.1)
time_bandits (0.7.0)
treetop (1.4.15)
ttfunk (1.4.0)
turbo-sprockets-rails3 (0.3.14)
twitter_oauth (0.4.94)
tzinfo (1.2.2, 0.3.41)
validates_email_format_of (1.6.1)
warden (1.2.3)
webrick (1.3.1)
yui-compressor (0.12.0)
me@local:~$  gem install backup 
ERROR:  While executing gem ... (Gem::ImpossibleDependenciesError)
    nokogiri-1.6.3.1 requires mini_portile (= 0.6.0) but it conflicted:
  Activated mini_portile-0.6.0 instead of (= 0.5.2) via:
    backup-4.1.2

This happens when I try installed any version of backup as far back as 4.0.0. Uninstalled mini_portile and nokogiri solved the problem. (I uninstalled nokogiri first, so it's possible that uninstalling mini_portile alone is sufficient).

To be fair, this is a side-effect of sparklemotion/nokogiri/issues/956, but even were that issue resolved, there may be something about the fact that backup's gemspec specifies exact versions of all gems that makes it more susceptible to Gem::ImpossibleDependenciesError when new versions of dependencies are released.

tombruijn commented 9 years ago

@betesh I'm afraid I can't reproduce the problem. Using a relatively clean setup (no backup installed yet, but some other gems are installed) on ruby 2.1.3 using bundler and gem install it will install for me. It should be, because otherwise it won't be able to install on travis either.

See my process here: https://gist.github.com/tombruijn/c62019220bc86c9f39f5

I'm running OSX 10.10, ruby 2.1.3, chruby, bundler 1.7.4, rubygems 2.2.2. What are you running, can you update to the latest version of rubygems? If you're not on it already.

betesh commented 9 years ago

Did you try it with mini_portile (0.6.0) & nokogiri (1.6.3.1) initially installed?

I'm running Ubuntu 14.04, rvm 1.25.33 , ruby-1.9.3-p392. For bundler version, see gem list output above. As for rubygems version, is that gem -v?

me@local:~$ gem -v
2.1.5
tombruijn commented 9 years ago

I've just tested it on Ubuntu 14.04 on a vagrant machine. Using ruby 1.9.3-p392, chruby 0.3.8, ruby-install 0.5.0 and rubygems 1.8.23 (default installed version). Once with mini_portile 0.6.0 and nokogiri 1.6.3.1 preinstalled, and once without. Both installations worked correctly. Didn't get any error.

Could you try creating a Gemfile adding this in it:

source "https://rubygems.org"
gem "backup", "4.1.2"

and running bundle install.

See if that works. I would recommend adding your backup gem to a bundler context, but not an existing other Gemfile of another project. Instead give it its own Gemfile and try installing it again.

tombruijn commented 9 years ago

@betesh any luck with this?

betesh commented 9 years ago

Haven't had a chance to try different variations, now that I've already got it working by uninstalling nokogiri and mini_portile. Maybe we should leave this open for a little while, just in case anyone else runs into the same issue. If no one else runs into this, it becomes much less likely it has anything to do with backup.

sashich commented 9 years ago

+1

tombruijn commented 9 years ago

hi @sashich if you have the same problem you can help by specifying the backup version, method of installation, error message, etc.

Because I can't reproduce it and if I can't reproduce it, I can't fix it.

AlbertoValenzuela commented 9 years ago

Got the same error while I was trying to install the gem directly with gem install backup. After some trying with adding and deleting nokogiri and mini_portile, I finally added it to my Gemfile and run bundle install and it was fine.

tombruijn commented 9 years ago

I recommend using bundler of course, but even without bundler I'm having no issues with installing backup with the mini_portile and nokogiri versions specified. I currently have: mini_portile (0.6.1, 0.6.0, 0.5.2) and nokogiri (1.6.4.1, 1.6.3.1, 1.6.1) and no issues install backup 4.1.2 with just gem install backup after cleaning out previous versions, and even on new installs. I need some more input to reproduce this