Guard: La escritura no aparece en la terminal después de salir de guardia

Creado en 13 ago. 2014  ·  23Comentarios  ·  Fuente: guard/guard

Me he encontrado con este comportamiento extraño durante un tiempo. Saliré de la guardia con ctrl+D y cuando recibo un indicador de bash, no aparece nada en el indicador cuando escribo. Puedo escribir comandos de shell y se ejecutarán, pero no aparece ningún texto mientras escribo. Se muestra la salida de los comandos escritos. Usando GNU bash, version 4.2.25(1)-release (x86_64-pc-linux-gnu) .

Comentario más útil

Mientras tanto, ¿ha intentado escribir reset ?

(Encontré este problema porque cuando estoy ejecutando guardia con pry-byebug, puedo ver lo que escribo en mi respuesta de guardia, pero cuando agrego un binding.pry a un archivo, no puedo ver lo que estoy escribiendo en esa respuesta. Extraño

Todos 23 comentarios

Podrían ser algunas sobras de stdout / stderr, o una sesión / hilo de palanca de muertos vivientes.

Guard 2.7.0 fue lanzado, ¿todavía tienes el problema? Si es así, ¿cuál es la última línea que hace que el mensaje sea invisible?

Gracias, actualizaré y veré qué sucede esta semana.

Recién actualizado y sigo viendo este problema. Sin embargo, no estoy seguro de a qué te refieres con tu segunda pregunta. Guard está inactivo después de ejecutar las especificaciones, y cuando presiono ctrl+D para salir, obtengo mi indicador $ bash, pero no aparece nada después cuando intento escribir un comando.

Guard usa LumberJack y creo que son los subprocesos de LumberJack los que no se limpian (por lo tanto, cuando el guardia sale, LumberJack descarga los mensajes de salida restantes en el "fondo" después de obtener el indicador de shell, así que ... el indicador de shell se oculta.

Esto probablemente se solucionará pronto.

Ah bien. ¡Gracias!

Mientras tanto, ¿ha intentado escribir reset ?

(Encontré este problema porque cuando estoy ejecutando guardia con pry-byebug, puedo ver lo que escribo en mi respuesta de guardia, pero cuando agrego un binding.pry a un archivo, no puedo ver lo que estoy escribiendo en esa respuesta. Extraño

@ bf4 : podría ser un problema con el almacenamiento en búfer. Puede intentar poner en su Guardfile:

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

y hacer lo mismo en algún lugar de su aplicación (por ejemplo, antes de binding.pry ).

Eso es solo para ver si al hacerlo cambia algo (no tiene sentido mantener la salida sincronizada).

También podría ser un problema con readline y Pry, por lo que es posible que desee desinstalar ambos e instalar Pry (y readline) de acuerdo con lo que se recomienda actualmente en sus documentos.

O puede asegurarse de no tener una configuración personalizada en alguna parte.

Lo arreglé eliminando la gema readline-rb y editando el .editrc por osx
docs justo antes de la sugerencia de readline. Ruby 2.1.4 a través de rvm en osx,
guardia 2.7 y 2.9

Estoy cerrando esto porque parece ser un problema de readline, no un problema de Guard.

Si hay algo que pueda hacer en Guard para evitar esto (o solucionarlo), vuelva a abrir.

Creo que en realidad puede haber sido un problema con guard-zeus . Cuando quité esa gema, el problema desapareció.

@mockdeep - extraño. Pero gracias por hacérmelo saber. Si alguna vez lo reproduzco (uso Linux), resolveré esto.

Lo estaba obteniendo de manera bastante consistente cuando se conectó guard-zeus . Simplemente inicie guard , tal vez ejecute algunas especificaciones, presione ctrl + D y listo. Yo también estoy usando Linux.

Sí, la genial actualización de la salida de Zeus interfiere con Pry.

Solución alterna:

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

La otra solución es, por supuesto, simplemente ejecutar Zeus en una terminal separada.

Envié un problema aquí: https://github.com/guard/guard-zeus/issues/18

Sin embargo, necesita cambios en Zeus para respaldar esto.

Bonito. Tendré esto en cuenta en el futuro si me encuentro con problemas similares. Por ahora hemos cambiado a spring .

Si está usando Spring en Linux, es posible que desee suscribirse a este problema: https://github.com/jonleighton/spring-watcher-listen/issues/1 (básicamente, una vez que llegue, Spring usará inotify en Linux en lugar de sondeo).

¡Bonito! Seguido.

Entonces, veo en los documentos https://github.com/guard/guard/wiki/Add-Readline-support-to-Ruby-on-Mac-OS-X la solución .editrc que mencioné no es ' t allí. Lo busqué en la historia, y resultó que estaba en Pry Docs

¿Cómo puedo obtener compatibilidad con readline (ctrl + r, etc.) para Pry en OSX?

Técnicamente, para OSX no necesita readline, y nos centraremos en usar libedit con el que viene OSX.

Edite el archivo .editrc en su directorio personal. Agrega esta línea:

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

Ahora puede usar ctrl + r para hacer una búsqueda inversa del historial.

Ref: http://hints.macworld.com/article.php?story=20080313113705760

Alternativamente, instale GNU Readline y haga que Ruby lo use: https://github.com/guard/guard/wiki/Add-Readline-support-to-Ruby-on-Mac-OS-X

Finalmente, Pry funciona con rb-readline, una implementación Ruby pura de Readline que no debería verse afectada por la plataforma e instalar dependencias del Readline estándar.
Ref: https://github.com/luislavena/rb-readline

Parece que estos doctores hablan entre ellos. ¿Puedo agregar la información de edición o el enlace a los documentos de palanca?

@ bf4 -

¿Puedo agregar la información de edición o el enlace a los documentos de palanca?

¡Absolutamente! ¡Sería muy apreciado!

Tengo este problema también. Incluso después de un nuevo reinicio, estoy usando spring + guard, cuando pongo un punto de interrupción binding.pry en mi código, no puedo ver nada de lo que escribo. Intenté agregar bind "^R" em-inc-search-prev a ~/.editrc y reinicié mi terminal, pero eso no ayudó. Intenté reset también, no ayudó.

@rahilsondhi export DISABLE_SPRING=1 y todos tus problemas desaparecerán

Gracias. Intenté poner eso en mi terminal antes de comenzar la guardia, no
dado. Incluso eliminé el resorte de mi Guardfile, sin dados.

El martes 7 de abril de 2015 a las 11:21 a. M., Benjamin Fleischer <
[email protected]> escribió:

@rahilsondhi https://github.com/rahilsondhi exportar DISABLE_SPRING = 1 y
todos tus problemas se irán

-
Responda a este correo electrónico directamente o véalo en GitHub
https://github.com/guard/guard/issues/619#issuecomment -90688628.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

thibaudgg picture thibaudgg  ·  3Comentarios

greyblake picture greyblake  ·  18Comentarios

bgentry picture bgentry  ·  10Comentarios

lastobelus picture lastobelus  ·  5Comentarios

Odaeus picture Odaeus  ·  21Comentarios