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?
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
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
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