2012-08-28 2 views
4

J'ai un problème étrange où lorsque j'essaie de lancer vagrant up le système peut soudainement ne pas trouver la gem json. Quand je lance errante up je reçois ce message:Ruby ne peut pas trouver de gemme parmi bien qu'il soit dans la liste

/usr/lib/ruby/vendor_ruby/1.8/rubygems/dependency.rb:247:in `to_specs': Could not find json (~> 1.5.1) amongst [Platform-0.4.0, archive-tar-minitar-0.5.2, builder-3.0.0, bundler-1.1.5, childprocess-0.3.5, cucumber-1.2.1, diff-lcs-1.1.3, erubis-2.7.0, ffi-1.1.5, gemcutter-0.7.1, gherkin-2.11.2, git-1.2.5, hiera-0.3.0, hiera-json-0.3.0, hiera-puppet-0.3.0, highline-1.6.13, i18n-0.6.0, json-1.7.5, log4r-1.1.10, metaclass-0.0.1, mocha-0.12.3, net-scp-1.0.4, net-ssh-2.5.2, open4-1.3.0, popen4-0.1.2, progressbar-0.11.0, puppet-module-0.3.4, puppetlabs_spec_helper-0.3.0, rake-0.9.2.2, rspec-2.11.0, rspec-core-2.11.1, rspec-expectations-2.11.2, rspec-mocks-2.11.2, rspec-puppet-0.1.4, thor-0.16.0, vagrant-1.0.3, veewee-0.2.3, virtualbox-0.9.2] (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:1209:in `gem' 
     from /usr/local/bin/vagrant:18 

Comme vous pouvez le voir sur l'erreur au-dessus du petit bijou JSON est clairement dans la liste, mais il ne sera pas le reconnaître. J'ai recherché ce problème et trouvé beaucoup d'occurrences mais la plupart du temps la gemme n'est pas présente dans la liste d'entre. Je n'ai pas ruby ​​installé plusieurs fois et le chemin de la gemme est défini.

joyau env

RubyGems Environnement:

  • Rubygems VERSION: 1.8.15
  • VERSION RUBY: 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
  • répertoire d'installation: /var/lib/gems/1.8
  • RUBY EXÉCUTABLE: /usr/bin/ruby1.8
  • ANNUAIRE EXÉCUTABLE:/usr/local/bin
  • PLATES rubygems:
    • rubis
    • x86_64 Linux
  • GEM PATHS:
    • /var/lib/gems/1.8
    • /home/adrian/.gem/ruby /1.8
  • CONFIGURATION GEM:
    • : update_sources => true
    • : verbose => true
    • : référence => false
    • : backtrace => false
    • : bulk_threshold => 1000
  • SOURCES À DISTANCE:

Les répertoires d'installation sont par défaut sur Ubuntu 12.04.

liste des pierres précieuses

* GEMS LOCAL *

archive-tar-minitar (0.5.2) 
builder (3.0.0) 
bundler (1.1.5) 
childprocess (0.3.5) 
cucumber (1.2.1) 
diff-lcs (1.1.3) 
erubis (2.7.0) 
ffi (1.1.5) 
gemcutter (0.7.1) 
gherkin (2.11.2) 
git (1.2.5) 
hiera (0.3.0) 
hiera-json (0.3.0) 
hiera-puppet (0.3.0) 
highline (1.6.13) 
i18n (0.6.0) 
json (1.7.5) 
log4r (1.1.10) 
metaclass (0.0.1) 
mocha (0.12.3) 
net-scp (1.0.4) 
net-ssh (2.5.2) 
open4 (1.3.0) 
Platform (0.4.0) 
popen4 (0.1.2) 
progressbar (0.11.0) 
puppet-module (0.3.4) 
puppetlabs_spec_helper (0.3.0) 
rake (0.9.2.2) 
rspec (2.11.0) 
rspec-core (2.11.1) 
rspec-expectations (2.11.2) 
rspec-mocks (2.11.2) 
rspec-puppet (0.1.4) 
thor (0.16.0) 
vagrant (1.0.3) 
veewee (0.2.3) 
virtualbox (0.9.2) 

Comme vous pouvez voir la pierre précieuse est dans la liste installée ici pour. Les variables d'environnement $GEM_HOME et $GEM_PATH ne sont pas définies.

J'ai essayé de comprendre celui-ci, mais je suis actuellement à perte. Toute aide d'un expert Ruby et/ou Vagabond serait grandement appréciée.

Répondre

4

Comme vous l'avez indiqué ici, vous avez déjà installé la version json gem 1.7.5. Mais le message d'erreur que vous obtenez états Could not find json (~> 1.5.1). La syntaxe ~> signifie que seules les versions 1.5.x sont acceptables! Donc, vous devez en installer un pour satisfaire les dépendances.

+0

A travaillé parfaitement! Merci beaucoup pour votre aide! –

Questions connexes