Mise à jour: ce problème n'est toujours pas résolu! Toute aide est appréciée! 05/07/2015 Mise à jour: une solution de contournement est trouvée. S'il vous plaît voir ma propre réponse 05/09/2015
Quand j'ai ratissé, j'ai eu cette erreur.
AllenLins-MacBook-Pro:geoblacklight allenlin$ rake -t
Resolving dependencies...
You must `gem install bundler` and `bundle install` to run rake tasks
rake aborted!
LoadError: cannot load such file -- rspec/core/rake_task
/Users/allenlin/Documents/USpatial/geoblacklight/Rakefile:12:in `require'
/Users/allenlin/Documents/USpatial/geoblacklight/Rakefile:12:in `<top (required)>'
/Users/allenlin/.rbenv/versions/2.2.2/lib/Ruby/2.2.0/rake/rake_module.rb:28:in `load'
/Users/allenlin/.rbenv/versions/2.2.2/lib/Ruby/2.2.0/rake/rake_module.rb:28:in `load_rakefile'
/Users/allenlin/.rbenv/versions/2.2.2/lib/Ruby/2.2.0/rake/application.rb:689:in `raw_load_rakefile'
/Users/allenlin/.rbenv/versions/2.2.2/lib/Ruby/2.2.0/rake/application.rb:94:in `block in load_rakefile'
/Users/allenlin/.rbenv/versions/2.2.2/lib/Ruby/2.2.0/rake/application.rb:176:in `standard_exception_handling'
/Users/allenlin/.rbenv/versions/2.2.2/lib/Ruby/2.2.0/rake/application.rb:93:in `load_rakefile'
/Users/allenlin/.rbenv/versions/2.2.2/lib/Ruby/2.2.0/rake/application.rb:77:in `block in run'
/Users/allenlin/.rbenv/versions/2.2.2/lib/Ruby/2.2.0/rake/application.rb:176:in `standard_exception_handling'
/Users/allenlin/.rbenv/versions/2.2.2/lib/Ruby/2.2.0/rake/application.rb:75:in `run'
/Users/allenlin/.rbenv/versions/2.2.2/lib/Ruby/gems/2.2.0/gems/rake-10.4.2/bin/rake:33:in `<top (required)>'
/Users/allenlin/.rbenv/versions/2.2.2/bin/rake:23:in `load'
/Users/allenlin/.rbenv/versions/2.2.2/bin/rake:23:in `<main>'
Cependant, j'ai exécuté les options 'gem install bundler' et 'bundle install', le rspec/core/rake_task existe réellement, comme indiqué par
AllenLins-MacBook-Pro:geoblacklight allenlin$ gem which rspec/core/rake_task
/Users/allenlin/.rbenv/versions/2.2.2/lib/Ruby/gems/2.2.0/gems/rspec-core-3.0.4/lib/rspec/core/rake_task.rb
Je suis perdu ici. Merci beaucoup pour toute aide à ce sujet! J'ai attaché le Gemfile:
source 'https://rubygems.org'
# Specify your gem's dependencies in geoblacklight.gemspec
gemspec
# If we don't specify 2.11.0 we'll end up with sprockets 2.12.0 in the main
# Gemfile.lock but since sass-Rails gets generated (Rails new) into the test app
# it'll want sprockets 2.11.0 and we'll have a conflict
gem 'sprockets', '2.11.0'
# If we don't specify 3.2.15 we'll end up with sass 3.3.2 in the main
# Gemfile.lock but since sass-Rails gets generated (Rails new) into the test app
# it'll want sass 3.2.0 and we'll have a conflict
gem 'sass', '~> 3.2.0'
gem 'bootstrap-sass', ">= 3.2"
group :test do
# Peg simplecov to < 0.8 until this is resolved:
# https://github.com/colszowka/simplecov/issues/281
gem 'simplecov', '~> 0.7.1', require: false
gem 'coveralls', require: false
end
Mettre à jour
Ajoutez ma gem env si c'est utile
RubyGems Environment:
- RUBYGEMS VERSION: 2.4.5
- Ruby VERSION: 2.2.2 (2015-04-13 patchlevel 95) [x86_64-darwin14]
- INSTALLATION DIRECTORY: /Users/allenlin/.rbenv/versions/2.2.2/lib/Ruby/gems/2.2.0
- Ruby EXECUTABLE: /Users/allenlin/.rbenv/versions/2.2.2/bin/Ruby
- EXECUTABLE DIRECTORY: /Users/allenlin/.rbenv/versions/2.2.2/bin
- SPEC CACHE DIRECTORY: /Users/allenlin/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /Users/allenlin/.rbenv/versions/2.2.2/etc
- RUBYGEMS PLATFORMS:
- Ruby
- x86_64-darwin-14
- GEM PATHS:
- /Users/allenlin/.rbenv/versions/2.2.2/lib/Ruby/gems/2.2.0
- /Users/allenlin/.gem/Ruby/2.2.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- Shell PATH:
- /Users/allenlin/.rbenv/versions/2.2.2/bin
- /usr/local/Cellar/rbenv/0.4.0/libexec
- /Users/allenlin/.rbenv/shims
- /Applications/Postgres.app/Contents/Versions/9.3/bin
- /Library/Frameworks/Python.framework/Versions/2.7/bin
- /Users/allenlin/Library/Enthought/Canopy_64bit/User/bin
- /Users/allenlin/.rbenv/versions/2.2.2/lib/Ruby/gems/2.2.0/gems/bundler-1.9.6/bin
- /Users/allenlin/gradle-1.12/bin
- /usr/local/bin
- /Users/allenlin/Apache-maven/Apache-maven-3.1.1/bin
- /usr/local/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
- /opt/X11/bin
- /usr/local/git/bin
- /usr/texbin
Il semble que l'exécution de bundle exec rake -t
fonctionnera. Per bundler.io http://bundler.io/man/bundle-exec.1.html Je suggère d'ajouter l'exécutable bundle pour nous assurer que nous utilisons bien la Gem spécifiée dans le contexte actuel. Voir aussi ce SO post. Qu'est-ce que ça veut dire bundle exec?
Après: Sudo gem install bundler
J'ai créé un Gemfile avec:
gem 'rake'
gem 'rspec'
gem 'kramdown'
et fait le paquet installer. Maintenant, je ne comprends pas l'erreur.
Ce qui se passe est que capistrano
est configuré pour installer uniquement le groupe de pierres précieuses dans le groupe production
(comme dans Gemfile). Donc, il exécute une commande groupée comme bundle install --without development test
.
Exécutez la commande bundle install
dans le répertoire du projet dans l’environnement de production.
Using devise 4.2.0
Using activeadmin 1.0.0.pre4
Using responsive_active_admin 0.0.5
Bundle complete! 60 Gemfile dependencies, 133 gems now installed.
Gems in the groups development and test were not installed.
Bundled gems are installed into /path/to/your/app/production/shared/bundle.
Veuillez noter ( Les gemmes dans les groupes de développement et de test n'étaient pas installées. ).
Vous vous rappelez peut-être que vous avez spécifié que rspec-Rails
gem doit être installé en mode development
uniquement.
essayez de spécifier le Rails_ENV
comme
# For Rails 5.0 +
Rails_ENV=production bundle exec Rails -T
# or
Rails_ENV=production bundle exec rake -T
# but this may not work
bundle exec rake -T Rails_ENV=production
En supposant que vous avez réellement rspec dans votre Gemfile, si vous rencontrez cette erreur, cela signifie également que vous n’exécutez pas rake avec les gems dont votre application a besoin (utilisez bundle exec rake
du répertoire racine de votre application pour le résoudre), ou que votre noyau rspec gem n'a pas été installé.
Si après l'exécution de bundle install
, vous obtenez toujours la même erreur lorsque vous exécutez bundle exec rake
, vérifiez que vous avez bien installé vos gems "mode test". Cela m'est arrivé
Dans mon cas, je n’avais pas installé mes gemmes de test, car Bundler présente un comportement non conventionnel en se souvenant des arguments précédents passés à l’option --without
comme indiqué ici , de sorte que vous pensez peut-être installer tous vos gemmes lancez bundle install
mais vous pourriez peut-être aussi courir avec (par exemple ...) --without development test
et ne pas le savoir.
Recherchez quelque chose comme "Les pierres précieuses dans le développement et les tests de groupes n'étaient pas installées". à la fin de votre sortie bundle install
.
Pour réinitialiser les options de votre paquet, supprimez simplement votre ./.bundle
dir (donc ... rm -r ./.bundle
). Maintenant, bundle install
sera de retour à la normale et rake devrait fonctionner.