2012-09-25 2 views
1

Je veux utiliser rbgccxml avec Ubuntu Precise. Ce bijou nécessite nokogiri. Ainsi, j'ai d'abord installé le paquet Ubuntu de ruby-nokogiri (v1.5.0). Ensuite, j'ai essayé d'installer rbgccxml via 'gem install' mais il essaie toujours d'installer aussi nokogiri (> 1.4). Pour éviter cela, j'ai utilisé 'gem install --ignore-dependencies rbgccxml'.ubuntu ruby ​​gem pas trouvé

$ gem which rbgccxml 
/var/lib/gems/1.8/gems/rbgccxml-1.0.3/lib/rbgccxml.rb 
$ gem which nokogiri 
/usr/lib/ruby/vendor_ruby/nokogiri.rb 

Maintenant, j'ai un comportement étrange. Le script suivant:

require 'nokogiri' 
puts 'step 1' 
require 'rubygems' 
puts 'step 2' 
require 'rbgccxml' 
puts 'step 3' 

sorties:

step 1 
step 2 
/usr/lib/ruby/vendor_ruby/1.8/rubygems/dependency.rb:247:in `to_specs': Could not find nokogiri (~> 1.4.0) amongst [rbgccxml-1.0.3] (Gem::LoadError) 
from /usr/lib/ruby/vendor_ruby/1.8/rubygems/specification.rb:771:in `activate_dependencies' 
from /usr/lib/ruby/vendor_ruby/1.8/rubygems/specification.rb:760:in `each' 
from /usr/lib/ruby/vendor_ruby/1.8/rubygems/specification.rb:760:in `activate_dependencies' 
from /usr/lib/ruby/vendor_ruby/1.8/rubygems/specification.rb:744:in `activate' 
from /usr/lib/ruby/vendor_ruby/1.8/rubygems.rb:209:in `try_activate' 
from /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:58:in `require' 
from test3.rb:8 

Alors, pourquoi nokogiri se trouve par besoin, mais pas par l'intérieur rbgccxml exigent?

Répondre

1

rbgccxml spécifie la dépendance à nokogiri en utilisant la pessimistic version constraint comme suit:

gem "nokogiri", "~>1.4.0" 

Cela équivaut à:

gem "nokogiri", ">= 1.4.0", "< 1.5.0" 

Cela signifie que rbgccxml nécessite une version de nokogiri avant celui que vous avez installée.

Si vous n'avez pas spécifiquement besoin de nokogiri 1.5.0, laissez les rubygems résoudre et installer les dépendances pour vous.

+0

Merci :) Je ne savais pas à propos de cette version pessimiste. – Knut

Questions connexes