RubyGems d'erreur après la mise à jour du système
Lorsque vous tentez de lancer la console rails après la mise à jour de mon ruby installation à l'aide de 'sudo gem update --système", j'ai ensuite essayer d'exécuter la console rails par l'émission d' rails c
J'obtiens cette erreur:
Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find json (~> 1.4) amongst [Ascii85-1.0.1, abstract-1.0.0, actionmailer-3.1.1, actionmailer-3.1.0, actionmailer-3.0.9, actionmailer-3.0.5, actionmailer-3.0.3, actionpack-3.1.1, actionpack-3.1.0, actionpack-3.0.9, actionpack-3.0.5, actionpack-3.0.3, activemodel-3.1.1, activemodel-3.1.0, activemodel-3.0.10, activemodel-3.0.9, activemodel-3.0.5, activemodel-3.0.3, activerecord-3.1.1, activerecord-3.1.0, activerecord-3.0.9, activerecord-3.0.5, activerecord-3.0.3, activeresource-3.1.1, activeresource-3.1.0, activeresource-3.0.9, activeresource-3.0.5, activeresource-3.0.3, activesupport-3.1.1, activesupport-3.1.0, activesupport-3.0.10, activesupport-3.0.9, activesupport-3.0.5, activesupport-3.0.3, addressable-2.2.6, ansi-1.3.0, arel-2.2.1, arel-2.0.10, arel-2.0.9, arel-2.0.7, bcrypt-ruby-3.0.1, bcrypt-ruby-3.0.0, bcrypt-ruby-2.1.4, builder-3.0.0, builder-2.1.2, bundler-1.0.21, bundler-1.0.18, bundler-1.0.11, choices-0.2.4, cocaine-0.2.0, coffee-rails-3.1.1, coffee-rails-3.1.0, coffee-script-2.2.0, coffee-script-source-1.1.2, devise-1.4.8, devise-1.4.2, erubis-2.7.0, erubis-2.6.6, execjs-1.2.9, execjs-1.2.6, execjs-1.2.4, faraday-0.7.4, faraday-0.6.1, faraday_middleware-0.7.0, faraday_middleware-0.6.3, fastercsv-1.5.4, formtastic-2.0.2, formtastic-1.2.4, geocoder-1.0.4, geocoder-1.0.2, has_scope-0.5.1, hashie-1.1.0, hashie-1.0.0, heroku-2.7.0, hike-1.2.1, i18n-0.6.0, i18n-0.5.0, inherited_resources-1.3.0, inherited_resources-1.2.2, jquery-rails-1.0.16, jquery-rails-1.0.14, kaminari-0.12.4, launchy-2.0.5, libv8-3.3.10.2-x86_64-darwin-10, mail-2.3.0, mail-2.2.19, mail-2.2.15, mail-2.2.14, mechanize-2.0.1, mechanize-1.0.0, meta_search-1.1.1, meta_search-1.0.6, mime-types-1.16, multi_json-1.0.3, multi_xml-0.4.1, multi_xml-0.4.0, multi_xml-0.3.0, multi_xml-0.2.2, multipart-post-1.1.3, multipart-post-1.1.2, mysql-2.8.1, mysql2-0.3.7, mysql2-0.2.7, mysql2-0.2.6, net-http-digest_auth-1.1.1, net-http-persistent-2.1, net-http-persistent-2.0, net-http-persistent-1.9, nokogiri-1.5.0, nokogiri-1.4.4, orm_adapter-0.0.5, pdf-reader-0.10.0, pg-0.11.0, polyamorous-0.5.0, polyglot-0.3.2, polyglot-0.3.1, prawn-0.12.0, rack-1.3.4, rack-1.3.3, rack-1.3.2, rack-1.2.3, rack-1.2.2, rack-1.2.1, rack-cache-1.1, rack-cache-1.0.3, rack-mount-0.8.3, rack-mount-0.6.14, rack-mount-0.6.13, rack-ssl-1.3.2, rack-test-0.6.1, rack-test-0.5.7, rails-3.1.1, rails-3.1.0, rails-3.0.9, rails-3.0.5, rails-3.0.3, railties-3.1.1, railties-3.1.0, railties-3.0.9, railties-3.0.5, railties-3.0.3, rake-0.9.2, rake-0.8.7, rake-0.8.7, rash-0.3.1, rash-0.3.0, rdoc-3.10, rdoc-3.9.4, rdoc-3.9.2, responders-0.6.4, rest-client-1.6.7, rubygems-update-1.8.11, rubygems-update-1.8.10, rubygems-update-1.7.2, rubygems-update-1.7.1, rubygems-update-1.6.2, rubyzip-0.9.4, sass-3.1.10, sass-3.1.7, sass-rails-3.1.4, sass-rails-3.1.2, sass-rails-3.1.0, simple_oauth-0.1.5, sprockets-2.0.2, sprockets-2.0.0, sqlite3-1.3.4, term-ansicolor-1.0.6, therubyracer-0.9.4, thor-0.14.6, tilt-1.3.3, treetop-1.4.10, treetop-1.4.9, ttfunk-1.0.3, ttfunk-1.0.2, turn-0.8.2, twitter-1.7.1, twitter-1.4.1, tzinfo-0.3.30, tzinfo-0.3.29, tzinfo-0.3.26, tzinfo-0.3.24, uglifier-1.0.3, warden-1.0.6, warden-1.0.5, webrobots-0.0.12, webrobots-0.0.11] (Gem::LoadError)
from /Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:1932:in `block in traverse'
from /Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:1931:in `each'
from /Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:1931:in `traverse'
from /Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:465:in `block in find_in_unresolved_tree'
from /Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:463:in `reverse_each'
from /Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:463:in `find_in_unresolved_tree'
from /Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:47:in `require'
from /Users/myusername/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.1.1/lib/rails/script_rails_loader.rb:1:in `<top (required)>'
from /Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
from /Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
from /Users/myusername/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.1.1/lib/rails/cli.rb:2:in `<top (required)>'
from /Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
from /Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
from /Users/myusername/.rvm/gems/ruby-1.9.2-p136/gems/rails-3.1.1/bin/rails:7:in `<top (required)>'
from /Users/myusername/.rvm/gems/ruby-1.9.2-p136/bin/rails:19:in `load'
from /Users/myusername/.rvm/gems/ruby-1.9.2-p136/bin/rails:19:in `<main>'
Des idées?
Avez-vous exécuté
oui, j'ai l'exécuter. D'autres idées?
Essayez d'ajouter
qui a fait le tour. Pourquoi est-il exigeant quand je ne suis pas vraiment l'utiliser?
Je suppose que c'est plus facile que paresseusement de chargement. La plupart des applications de l'utiliser de toute façon. J'ai ajouté mon commentaire comme une réponse ci-dessous de sorte qu'il est plus facile pour les autres de trouver.
bundle install
?oui, j'ai l'exécuter. D'autres idées?
Essayez d'ajouter
gem "json", "~> 1.4"
directement dans votre Gemfile (et en cours d'exécution bundle install
). Ne rails server
travail ok, c'est juste de l' rails console
?qui a fait le tour. Pourquoi est-il exigeant quand je ne suis pas vraiment l'utiliser?
Je suppose que c'est plus facile que paresseusement de chargement. La plupart des applications de l'utiliser de toute façon. J'ai ajouté mon commentaire comme une réponse ci-dessous de sorte qu'il est plus facile pour les autres de trouver.
OriginalL'auteur Elliot | 2011-10-16
Vous devez vous connecter pour publier un commentaire.
ce que vous obtenez lorsque vous essayez à la liste de vos gemmes.. est json >= 1.4 il?
par exemple:
si vous utiliser RVM gemsets, vous pouvez en faire la liste aussi, pour vérifier si votre défaut sertie a changé:
EDIT: Mystère Résolu! 🙂
vous avez accidentellement installé vos bijoux avec sudo -- mais vous avez RVM installé pour votre compte d'utilisateur!
Lorsque vous avez RVM installé pour un utilisateur individuel, il n'est généralement pas une bonne idée de faire sudo gem install ... , mais vous devez installer les gemmes de l'utilisateur local et laissez RVM gérer pour quelle que soit la version de Ruby que vous utilisez.
Si vous avez encore de l'installer avec la commande sudo, RVM de ne pas trouver les perles rares, car ils sont stockés dans un emplacement différent, en dehors de RVM, et non d'une recherche par RVM...! Regarde comme c'est le cas que vous avez vécu.
Cochez cette RailsCast: http://railscasts.com/episodes/200-rails-3-beta-and-rvm
si vous êtes à l'aide de Rails:
- modifier votre Gemfile et ajouter le json de dépendance , puis exécutez
bundle install
si vous êtes juste en utilisant le langage Ruby en lui-même, ou d'une version ancienne ou Ruby:
- exécuter
gem install json
dans le shellAvec les nouvelles versions Rubis, vous ne devriez pas installer manuellement les gemmes
gem list json
il n'apparaît pas... même si elle a certainement été installésudo gem install json
. Lors de l'exécution dervm gemset list
il produit est le suivant:gemsets for ruby-1.9.2-p136 (found in /Users/elliottheis/.rvm/gems/ruby-1.9.2-p136)
mondiale. Des idées?on dirait que vous utilisé accidentellement 'sudo' .. vous ne devriez pas l'utiliser lorsque vous avez RVM installé pour votre compte d'utilisateur local
serait-il la peine de retirer le rvm installé la version de ruby, et un nouveau départ que j'ai le sentiment que je l'ai fait pour un couple de pierres précieuses... Êtes-vous en mesure de donner une idée de comment je peux obtenir que (je suis sous OS X Lion)?
Je garderais RVM, le RVM installé version de Ruby, amd le RVM installé Gemmes -- et aurait pour effet de supprimer le sudo est installé Gemmes avec "sudo gem uninstallXYZ"
mieux supprimer le sudo est installé Gemmes! et puis il suffit de les installer comme décrit ci-dessus - en votre qualité d'utilisateur
OriginalL'auteur
Ajouter
gem "json", "~> 1.4"
dans votre Gemfile et exécuterbundle install
OriginalL'auteur
Aussi
Vous seulement utiliser la commande sudo pendant le processus d'installation. En Multi-configurations de l'Utilisateur, toutes les opérations qui requièrent sudo accès doivent utiliser le rvmsudo de commande qui préserve le RVM de l'environnement et de l'envoie de la commande sudo. Il y a très peu de cas où rvmsudo est nécessaire une fois que le noyau d'installation est terminé, sauf pour quand la mise à jour de RVM lui-même. Il n'y a jamais une raison d'utiliser sudo post-installation. Une fois que les utilisateurs ajoutés à la " rvm " groupe ont enregistré, puis de nouveau pour avoir rvm l'appartenance à un groupe, rvmsudo ne devrait être nécessaire pour la mise à jour de RVM lui-même avec
Veuillez lire la https://rvm.beginrescueend.com/support/troubleshooting/ page de La page de l'installateur également des détails de ce pour de nouvelles installations. Vous devrez retirer votre installation existante et de la refaire dans le but de les reconfigurer les autorisations. Dans l'avenir, jamais utilisateur sudo lorsque vous travaillez sur votre installation de RVM, sauf lors de l'installation. Tout les autres commandes ne nécessitera pas de sudo utilisation sauf pour
de mettre à jour votre installation. Si les utilisateurs sont correctement placés dans le rvm de groupe selon les modalités détaillées sur le site, vous n'avez pas besoin d'utiliser sudo, et rvmsudo seulement pour la mise à jour.
Aussi, RVM ne gère pas le système installé ruby à tous les! Nous proposons l'utilisation de
afin de donner un moyen naturel pour basculer entre RVM contrôlée de rubis, et le système. Votre gestionnaire de paquets, ou l'absence de celui-ci pour OS X, est responsable de la gestion de votre système installé ruby et est en dehors du contrôle de RVM 100%.
OriginalL'auteur