web-dev-qa-db-fra.com

RubyTest dans Sublime Text 2

J'essaie de faire en sorte que RubyTest fonctionne dans Sublime Text 2. J'ai suivi les instructions du fichier Lisez-moi de Github et j'obtiens le message d'erreur suivant. Est-ce que quelqu'un sait comment je pourrais résoudre ce problème?

/bin/sh: rspec: command not found
41
CharlesJHardy

Pour que cela fonctionne, il vous suffit de modifier un paramètre du paquet RubyTest dans sb2.

Si vous utilisez rvm, votre gem rspec est installé via rvm et ne se trouve pas dans/bin/sh

Vous devez donc définir le paquet RubyTest pour Sublime Text 2 afin de vérifier automatiquement vos variables d’environnement RVM.

Quoi changer:

1) Dans Sublime Text 2, accédez à Préférences | Parcourir les packages. Cela ouvrira votre répertoire de paquets. 

2) Ouvrez le répertoire 'RubyTest' et recherchez le fichier 'RubyTest.sublime-settings'.

3) trouvez la ligne qui dit:

"check_for_rvm": false,

et le changer pour:

"check_for_rvm": true,

enregistrer la monnaie.

4) C'est ça. Cela devrait maintenant fonctionner.

Bonne chance

63
sean lynch

Cela a fonctionné pour moi:

Si vous utilisez RVM, ouvrez un projet avec une ligne de commande à partir du dossier du projet:

subl .

Ensuite, ça va accrocher la version Ruby et des gemmes.

42
elado

Ceci est probablement dû à l'utilisation de RVM. Quelle est la sortie de 

which rspec

sur votre ligne de commande?

Il convient également de noter que le fait que vous ayez inclus rspec-Rails dans un Gemfile ne signifie pas que 'rspec' est un programme exécutable connu de votre système.

Vous pouvez éditer RubyTest.sublime.settings pour faire référence à votre chemin particulier vers l'exécutable rspec et cela devrait fonctionner.

Malheureusement, cela a pour effet pervers d'être lié à une version particulière de Ruby. Si vous utilisez RVM pour changer de version, vous devez mettre à jour vos paramètres sublime.

Une solution consiste à exécuter Sublime à partir de la ligne de commande.

7
Jim Wharton

Exécution de Sublime Text 2(2165) avec le plug-in RubyTest. Ruby et Gems ont géré avec rbenv (0.3.0). 

La première tentative d'utilisation de RubyTest a donné l'erreur suivante: /bin/sh: rspec: command not found

À partir de la ligne de commande, j'ai exécuté which rspec Et aucun résultat n'a été renvoyé.

Après quelques recherches, je lis que bundle install ne place pas les exécutables dans votre $ PATH. Des chemins d’exécutables alternatifs non récupérés par des shims parfois

Pour pouvoir utiliser l'exécutable en dehors de l'application, j'ai dû supprimer la gemme installée par le bundler, puis l'installer manuellement.

gem uninstall rspec

gem install rspec

suivi par

rbenv rehash ( Remarque vous devrez exécuter bundle dans votre application pour mettre à jour l'emplacement de la gemme)

Cela devait être effectué pour chaque version de Ruby que j'ai sous le contrôle de Rbenv.

Maintenant quand je cours

which rspec

il se trouve dans le chemin et RubyTest est capable de le récupérer sans aucun problème.

fwiw, je devais répéter les étapes pour le concombre aussi. Pour utiliser toutes les fonctionnalités de RubyTests, les exécutables Ruby, concombre et rspec doivent être dans votre $ PATH (pour rbenv, il s'agit de ~/.rbenv/shims/).

6
jasonshell

Essayez de changer le chemin en usr/local/bin/

J'ai écrit un article sur Sublime Text Build Scripts qui devrait vous montrer comment faire cela.

http://wesbos.com/sublime-text-build-scripts/

4
wesbos

J'ai eu le même problème après l'installation de RubyTest par clonage à partir du référentiel. J'ai simplement désinstallé et réinstallé le paquet dans Sublime à l'aide de Package Control, puis tout a bien fonctionné.

3
Joe Chan

Même problème pour moi. Avec rspec 1.3.2, je viens de résoudre ce problème en modifiant le fichier RubyTest.sublime.settings dans le dossier du plugin, en modifiant la clé "Ruby_rspec_exec" de:

"Ruby_rspec_exec": "rspec"

à 

"Ruby_rspec_exec": "spec"

Cela dépend vraiment de l'emplacement où vous avez votre fichier exécutable rspec ...

3
Pietro Di Bello

Vous pouvez voir un résumé de ce problème ici: https://github.com/maltize/sublime-text-2-Ruby-tests/issues/36

Essentiellement, ce que Jim a dit était correct, vous utilisez RVM ou un autre gestionnaire Ruby vm qui simule de la même manière les singes avec votre PATH. En suivant les instructions de ce problème, j’ai fait ce qui suit:

Installer les binaires dans mon projet

bundle install --binstubs

Ajoutez le chemin à mon .bashrc et source

echo 'export PATH="./bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Ouvrez le projet sublime à partir de la ligne de commande (pour que PATH soit disponible dans Sublime Text 2)

subl .
2
Chuck Vose

J'ai passé de nombreuses heures à lutter contre le même problème! Je ne pouvais pas faire fonctionner rspec dans Sublime Text 2, en utilisant le "Didacticiel Ruby on Rails" de Michael Hartl. Il n'arrêtait pas de dire:

/bin/sh: rspec: command not found

J'ai finalement réalisé que le paquet RubyTest ( https://github.com/maltize/sublime-text-2-Ruby-tests ) cherchait dans la mauvaise place pour mon RVM!

Sur mon Mac, le chemin pour RubyTest est /Library/Application Support/Sublime Text 2/Packages/Ruby Test

Tout d'abord, pour que RubyTest recherche le RVM, j'ai changé le paramètre dans RubyTest.sublime-settings de

"check_for_rvm": false, to "check_for_rvm": true,

Puis j'ai creusé dans le code Python de run_Ruby_test.py: https://github.com/maltize/sublime-text-2-Ruby-tests/blob/master/run_Ruby_test.py

À la ligne 151, à l'intérieur de la classe BaseRubyTask, mon chemin était incorrect pour mon RVM:

rvm_cmd = os.path.expanduser('~/.rvm/bin/rvm-auto-Ruby')

Je l'ai changé pour le chemin correct complet: rvm_cmd = os.path.expanduser('/usr/local/rvm/bin/rvm-auto-Ruby')

Si ce n'est pas votre chemin, trouvez le bon chemin en tapant

$ which rvm-auto-Ruby et le remplacer à la place.

Après avoir sauvegardé run_Ruby_test.py, je suis allé dans Terminal, cd dans le répertoire de mon application Rails et ai exécuté spork.

Finalement, j'ai ouvert static_pages_spec.rb dans Sublime Text 2. Maintenant, tous les tests fonctionnent!

1
Raymond Gan

Non, vous n'avez pas besoin de changer de chemin, d'exécuter sublime depuis la ligne de commande, etc. Si vous utilisez RVM, il vous suffit de faire ceci:

Allez à Sublime Text 2, allez à Préférences -> paramètres du paquet -> RubyTests

et choisissez settings-user ou settings-default (selon ce que vous utilisez) et changez de ligne:

"run_rspec_command": "rspec {relative_path}"

à

"run_rspec_command": "bundle exec rspec {relative_path}"

Et ainsi de suite - ajouter bundle exec à toutes les commandes

enter image description here

1
Aleks

Les étapes suivantes ont fonctionné pour moi (j'ai rencontré la même erreur que OP):

  1. Installez le plug-in RubyTest via le gestionnaire de contrôle de paquet. Note * Si vous n’avez pas installé le gestionnaire de paquets - je le recommande vivement pour la gestion de sublimes plugins - plus d'infos ici .

  2. Assurez-vous d’ajouter le code ici à votre fichier RubyTest.sublime-settings. Ce fichier se trouve dans (à partir du menu): Preferences -> Package settings -> RubyTest -> Settings User

  3. Enregistrez le fichier, fermez Sublime et redémarrez Sublime à partir du terminal situé dans le dossier de votre projet en utilisant (donc PATH est disponible en Sublime): subl .

1
yellowaj

Si vous recherchez une assistance groupeuse, j'ai trouvé une configuration de travail que j'ai postéeici

0
TrinitronX

J'utilise rbenv et j'ai constaté que l'ajout de ce qui suit à mon .bashrc a fait l'affaire

/Users/user/.rbenv/shims/rspec
0
eebbesen