15 votes

`spring rspec` affiche simplement l'aide de spring.. pourquoi?

Je cherche à utiliser spring avec rspec et guard sur un projet Rails 3.2.16.

Après avoir installé spring et spring-commands-rspec, j'ai créé les binstubs avec :

> bundle exec spring binstub --all
  * bin/rake: spring inséré
  * bin/rspec: spring inséré
  * bin/rails: spring inséré

Maintenant, en essayant d'exécuter spec avec spring échoue (les chemins des gems et le chemin du projet sont remplacés pour plus de lisibilité) :

> bin/rspec spec/
Version: 1.1.0

Usage: spring COMMANDE [ARGS]

Commandes pour spring lui-même :

binstub         Générer des binstubs basés sur spring. Utilisez --all pour générer un binstub pour toutes les commandes connues.
help            Afficher les commandes disponibles.
status          Afficher l'état actuel.
stop            Arrêter tous les processus spring pour ce projet.

Commandes pour votre application :

rails           Exécuter une commande rails. Les sous-commandes suivantes utiliseront spring : console, runner, generate, destroy.
rake            Exécute la commande rake
rspec           Exécute la commande rspec
rspec binstub
Aucun serveur DRb n'est en cours d'exécution. Exécution en processus local à la place ...
gemspath/rspec-core-2.14.7/lib/rspec/core/configuration.rb:896:in `load': impossible de charger le fichier -- [PROJECT_PATH]/rspec (LoadError)
from gemspath/rspec-core-2.14.7/lib/rspec/core/configuration.rb:896:in `block in load_spec_files'
from gemspath/rspec-core-2.14.7/lib/rspec/core/configuration.rb:896:in `each'
from gemspath/rspec-core-2.14.7/lib/rspec/core/configuration.rb:896:in `load_spec_files'
from gemspath/rspec-core-2.14.7/lib/rspec/core/command_line.rb:22:in `run'
from gemspath/rspec-core-2.14.7/lib/rspec/core/runner.rb:77:in `rescue in run'
from gemspath/rspec-core-2.14.7/lib/rspec/core/runner.rb:73:in `run'
from gemspath/rspec-core-2.14.7/lib/rspec/core/runner.rb:17:in `block in autorun'

Autre essai :

> spring rspec

Affiche uniquement l'aide de spring

La même chose pour

> spring rspec spec/

Voici le rspec binstub (bin/rspec) :

#!/usr/bin/env ruby
begin
  load File.expand_path("../spring", __FILE__)
rescue LoadError
end
require 'bundler/setup'
load Gem.bin_path('rspec', 'rspec')

Une idée ?

40voto

pfleidi Points 1951

J'ai eu le même problème. Je l'ai résolu en arrêtant Spring après avoir ajouté spring-commands-rspec. Il semble qu'il doive être redémarré pour utiliser la nouvelle commande ajoutée.

bin/spring stop
bin/rspec chemin/vers/fichier.rb

4voto

Scudelletti Points 89

Vous devez redémarrer le spring. Arrêtez-le et redémarrez-le ensuite

spring stop

spring rspec

Ensuite, cela devrait fonctionner comme prévu.

2voto

Philip Giuliani Points 571

J'ai résolu le problème, même si je ne sais pas pourquoi cela a résolu le problème.

Supprimez simplement gem 'spring', group: :development du Gemfile afin de ne laisser que gem 'spring-commands-rspec'.

Exécutez bundle install puis spring rpsec spec fonctionnera! C'est tellement rapide :)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X