web-dev-qa-db-fra.com

rails s: impossible de trouver rake-10.4.2 dans aucune des sources (Bundler :: GemNotFound)

Quand je commence Rails avec:

$ Rails s

Je reçois:

/Users/snowcrash/.rvm/gems/Ruby-2.1.5@global/gems/bundler-1.3.5/lib/bundler/spec_set.rb:92:in `block in materialize': Could not find rake-10.4.2 in any of the sources (Bundler::GemNotFound)

Alors, j'ai couru bundle install:

$ bundle install
Using rake 10.4.2

mais gem list rake donne:

*** LOCAL GEMS ***

rake (10.1.0, 10.0.4)

Pourquoi je n'ai pas rake 10.4.2 installée?

De plus, lorsque je lance bundle check ça me donne:

The Gemfile's dependencies are satisfied

ce qui ne semble pas être correct. Pourquoi?

==== MISE À JOUR

J'ai résolu le problème avec rake en faisant:

gem install rake

mais pourquoi ai-je dû l'installer manuellement? Je pensais que c'était le travail de Bundler.

Et essayer de démarrer Rails m'a encore posé un autre problème:

Could not find multi_json-1.10.1 in any of the sources (Bundler::GemNotFound)

Il y a clairement un problème sous-jacent ici. Aucune suggestion?

19
Snowcrash

J'ai eu ce problème en utilisant rbenv pour mon installation Ruby 2.2.0. Résolu par essais et erreurs.

J'ai essayé de faire gem install rake mais cela ne l'a pas corrigé. J'ai donc fait:

gem uninstall rake
rbenv global 2.1.1
rbenv rehash
rbenv uninstall rake #this time gives error "rake is a default gem"
rbenv global 2.2.0
rbenv rehash
gem install rake
Rails s #works this time

Je m'attends à ce qu'il y ait peut-être un conflit quelque part dans PATH ou similaire qui a été résolu avec une suppression complète

J'ai déjà rencontré cette erreur avec multi_json. Corrigé en faisant une installation manuelle gem install multi_json

16
AndyRyan

Je pense que vos gemmes sont regroupées avec le projet (BUNDLED_PATH défini dans les projets .bundle/config).

Si vous devez exécuter la version groupée du serveur Rails, vous devez taper dans la console

bundle exec Rails s

Ou, vous pouvez également générer des talons de bacs de commandes groupées de gemmes en

bundle --binstubs

et exécuter le talon généré

bin/Rails s
9
Dmitry Lihachev

Je n'avais besoin que de corriger le script enable.

cd /opt/rh/Ruby-22
rpm -q -f enable
rh-Ruby22-runtime-2.0-6.el6.x86_64
diff enable~ enable
1c1
< export PATH=/opt/rh/rh-Ruby22/root/usr/bin${PATH:+:${PATH}}
---
> export PATH=/opt/rh/Ruby/root/usr/local/bin/:/opt/rh/rh-Ruby22/root/usr/bin${PATH:+:${PATH}}
scl enable rh-Ruby22 bash

http://www.softwarecollections.org/

0
Hans Ginzel