Guard: La saisie n'apparaît pas dans le terminal après avoir quitté la garde

Créé le 13 août 2014  ·  23Commentaires  ·  Source: guard/guard

Je suis confronté à ce comportement étrange depuis un certain temps. Je quitterai la garde avec ctrl+D et lorsque je reçois une invite bash, rien n'apparaît à l'invite lorsque je tape. Je peux taper des commandes shell et elles s'exécuteront, mais aucun texte n'apparaît pendant que je tape. La sortie des commandes tapées s'affiche. En utilisant GNU bash, version 4.2.25(1)-release (x86_64-pc-linux-gnu) .

Commentaire le plus utile

en attendant, avez-vous essayé de taper reset ?

(J'ai trouvé ce problème parce que lorsque j'exécute la garde avec pry-byebug, je peux voir ce que je tape dans mon guard repl, mais quand j'ajoute un binding.pry à un fichier, je ne peux pas voir ce que je tape dans le qui remplace Bizarre

Tous les 23 commentaires

Peut-être des restes de stdout/stderr - ou une session/fil de discussion mort-vivant.

Guard 2.7.0 est sorti - avez-vous toujours le problème ? Si oui, quelle est la dernière ligne qui rend l'invite invisible ?

Merci, je vais mettre à jour et voir ce qui se passe cette semaine.

Je viens de mettre à jour et je vois toujours ce problème. Je ne suis pas sûr de ce que vous entendez par votre deuxième question. Guard est inactif après avoir exécuté les spécifications, et lorsque j'appuie sur ctrl+D pour quitter, j'obtiens mon invite bash $ , mais rien ne s'affiche après lorsque j'essaie de taper une commande.

Guard utilise LumberJack et je pense que c'est le ou les threads LumberJack qui ne sont pas nettoyés (donc, lorsque guard se termine, LumberJack vide les messages de sortie restants en "arrière-plan" après avoir reçu l'invite du shell, donc ... l'invite du shell se cache.

Ce sera probablement bientôt corrigé.

Ah ok. Merci!

en attendant, avez-vous essayé de taper reset ?

(J'ai trouvé ce problème parce que lorsque j'exécute la garde avec pry-byebug, je peux voir ce que je tape dans mon guard repl, mais quand j'ajoute un binding.pry à un fichier, je ne peux pas voir ce que je tape dans le qui remplace Bizarre

@bf4 - peut être un problème de mise en mémoire tampon. Vous pouvez essayer de mettre dans votre Guardfile :

$stderr.sync = true
$stdout.sync = true

et faire la même chose quelque part dans votre application (par exemple avant binding.pry ).

C'est juste pour voir si cela change quelque chose (la sortie synchronisée n'a pas de sens à conserver).

Cela peut également être un problème avec readline et Pry, vous pouvez donc désinstaller les deux et installer Pry (et readline) en fonction de ce qui est actuellement recommandé dans leurs documents.

Ou vous pouvez vous assurer que vous n'avez pas de configuration personnalisée quelque part.

Je l'ai corrigé en supprimant readline-rb gem et en modifiant le .editrc par osx
docs juste avant la suggestion de readline. Ruby 2.1.4 via rvm sur osx,
garde 2.7 et 2.9

Je ferme ceci car cela semble être un problème de lecture, pas un problème de garde.

S'il y a quoi que ce soit que je puisse faire dans Guard pour empêcher cela (ou résoudre ce problème), veuillez rouvrir.

Je pense que cela a peut-être été un problème avec guard-zeus . Lorsque j'ai retiré cette gemme, le problème a disparu.

@mockdeep - étrange. Mais merci de me l'avoir signalé. Si jamais je le reproduis (j'utilise Linux), je résoudrai ce problème.

Je l'obtenais assez régulièrement lorsque guard-zeus était branché. Démarrez simplement guard , exécutez peut-être quelques spécifications, appuyez sur ctrl+D et hop. J'utilise aussi Linux.

Oui, la mise à jour cool de la sortie de Zeus interfère avec Pry.

Solution de contournement:

guard 'zeus', cli: '> /dev/null' do

L'autre solution de contournement consiste bien sûr à simplement exécuter Zeus dans un terminal séparé.

J'ai soumis un problème ici : https://github.com/guard/guard-zeus/issues/18

Nécessite des changements dans Zeus pour prendre en charge cela.

Agréable. Je garderai cela à l'esprit si je rencontre des problèmes similaires. Pour l'instant, nous sommes passés à spring .

Si vous utilisez Spring sur Linux, vous voudrez peut-être vous abonner à ce numéro : https://github.com/jonleighton/spring-watcher-listen/issues/1 (en gros, une fois que j'y aurai, Spring utilisera inotify sur Linux au lieu d'interroger).

Agréable! Suivi.

Donc, je vois dans la documentation https://github.com/guard/guard/wiki/Add-Readline-support-to-Ruby-on-Mac-OS-X le correctif .editrc j'ai mentionné n'est pas t là. Je l'ai cherché dans l'histoire, et il s'avère que c'était dans les Pry Docs

Comment puis-je obtenir le support readline (ctrl+r, etc.) pour Pry sous OSX ?

Techniquement, pour OSX, vous n'avez pas besoin de readline, et nous nous concentrerons sur l'utilisation de libedit, fourni avec OSX à la place.

Modifiez le fichier .editrc dans votre répertoire personnel. Ajoutez cette ligne :

bind "^R" em-inc-search-prev

Vous pouvez maintenant utiliser ctrl+r pour effectuer une recherche d'historique inversée.

Réf : http://hints.macworld.com/article.php?story=20080313113705760

Vous pouvez également installer GNU Readline et demander à Ruby de l'utiliser : https://github.com/guard/guard/wiki/Add-Readline-support-to-Ruby-on-Mac-OS-X

Enfin, Pry fonctionne avec rb-readline, une pure implémentation Ruby de Readline qui ne devrait pas souffrir de la plate-forme et installer des dépendances du Readline standard.
Réf : https://github.com/luislavena/rb-readline

Il semble que ces docs se parlent. Puis-je ajouter les informations editrc ou un lien vers les documents de pry?

@bf4 -

Puis-je ajouter les informations editrc ou un lien vers les documents de pry?

Absolument! Cela serait très appréciable!

J'ai aussi ce problème. Même après un nouveau redémarrage, j'utilise spring+guard, lorsque je mets un point d'arrêt binding.pry dans mon code, je ne vois rien de ce que je tape. J'ai essayé d'ajouter bind "^R" em-inc-search-prev à ~/.editrc et j'ai redémarré mon terminal mais cela n'a pas aidé. J'ai essayé reset aussi, ça n'a pas aidé.

@rahilsondhi export DISABLE_SPRING=1 et tous vos ennuis disparaîtront

Merci. J'ai essayé de le mettre dans mon terminal avant de démarrer la garde - non
dé. J'ai même retiré le ressort de mon Guardfile, pas de dés.

Le Mar 7 Avr 2015 à 11:21, Benjamin Fleischer <
[email protected]> a écrit :

@rahilsondhi https://github.com/rahilsondhi export DISABLE_SPRING=1 et
tous tes ennuis s'en iront

-
Répondez directement à cet e-mail ou consultez-le sur GitHub
https://github.com/guard/guard/issues/619#issuecomment -90688628.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

Odaeus picture Odaeus  ·  21Commentaires

jonmchan picture jonmchan  ·  16Commentaires

bgentry picture bgentry  ·  10Commentaires

greyblake picture greyblake  ·  18Commentaires

tomrossi7 picture tomrossi7  ·  6Commentaires