Guard: لا تظهر الكتابة في الجهاز بعد الخروج من الحارس

تم إنشاؤها على ١٣ أغسطس ٢٠١٤  ·  23تعليقات  ·  مصدر: guard/guard

لقد كنت أواجه هذا السلوك الغريب لفترة من الوقت. سأخرج من الحارس بـ ctrl+D وعندما أحصل على موجه bash ، لا يظهر أي شيء عند المطالبة عندما أكتب. يمكنني كتابة أوامر shell وسيتم تنفيذها ، ولكن لا يظهر أي نص أثناء الكتابة. يظهر الإخراج من الأوامر المكتوبة. باستخدام GNU bash, version 4.2.25(1)-release (x86_64-pc-linux-gnu) .

التعليق الأكثر فائدة

في غضون ذلك ، هل حاولت كتابة reset ؟

(لقد وجدت هذه المشكلة لأنني عندما أقوم بتشغيل الحارس باستخدام pry-byebug ، يمكنني رؤية ما أكتبه في رد الحارس الخاص بي ، ولكن عندما أقوم بإضافة رابط. حاول إلى ملف ، لا يمكنني رؤية ما أكتبه في ذلك الرد. غريب

ال 23 كومينتر

يمكن أن يكون بعض بقايا stdout / stderr - أو جلسة / خيط أوندد.

تم إصدار Guard 2.7.0 - هل ما زلت تواجه المشكلة؟ إذا كان الأمر كذلك ، فما هو السطر الأخير الذي يجعل المطالبة غير مرئية؟

شكرًا ، سأقوم بالترقية وأرى ما سيحدث هذا الأسبوع.

تمت الترقية وما زلت أرى هذه المشكلة. لست متأكدًا مما تقصده بسؤالك الثاني. يكون Guard في وضع الخمول بعد تشغيل المواصفات ، وعندما أضغط على ctrl+D للخروج ، أحصل على موجه bash $ ، لكن لا شيء يظهر بعده عندما أحاول كتابة أمر.

يستخدم Guard LumberJack وأعتقد أن سلسلة (خيوط) LumberJack هي التي لا يتم تنظيفها (لذلك عند خروج الحارس ، يقوم LumberJack بإفراغ رسائل الإخراج المتبقية في "الخلفية" بعد الحصول على موجه shell لذا ... موجه shell يختفي.

من المحتمل أن يتم إصلاح هذا قريبًا.

آه حسنا. شكرا!

في غضون ذلك ، هل حاولت كتابة reset ؟

(لقد وجدت هذه المشكلة لأنني عندما أقوم بتشغيل الحارس باستخدام pry-byebug ، يمكنني رؤية ما أكتبه في رد الحارس الخاص بي ، ولكن عندما أقوم بإضافة رابط. حاول إلى ملف ، لا يمكنني رؤية ما أكتبه في ذلك الرد. غريب

@ bf4 - قد تكون هناك مشكلة في التخزين المؤقت. يمكنك محاولة إدخال ملف الحارس الخاص بك:

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

والقيام بنفس الشيء في مكان ما في تطبيقك (على سبيل المثال ، قبل binding.pry ).

هذا فقط لمعرفة ما إذا كان القيام بذلك يغير أي شيء (الإخراج المتزامن ليس من المنطقي الاحتفاظ به).

قد تكون أيضًا مشكلة في readline و Pry ، لذلك قد ترغب في إلغاء تثبيت Pry وتثبيته (والقراءة) وفقًا لما هو موصى به حاليًا في مستنداتهم.

أو قد تتأكد من عدم وجود تهيئة مخصصة في مكان ما.

لقد أصلحته عن طريق إزالة readline-rb gem وتحرير ملف .editrc لكل OSX
المستندات مباشرة قبل اقتراح readline. روبي 2.1.4 عبر rvm على OSX ،
حارس 2.7 و 2.9

أنا أغلق هذا لأنه يبدو أنه مشكلة قراءة وليست مشكلة حارس.

إذا كان هناك أي شيء يمكنني القيام به في Guard لمنع هذا (أو إصلاح هذا) - يرجى إعادة الفتح.

أعتقد أنه ربما كان بالفعل مشكلة مع guard-zeus . عندما أزلت تلك الأحجار الكريمة اختفت المشكلة.

mockdeep - غريب. و لكن شكرا لأنك تركتني أعلم. إذا قمت بإعادة إنتاجه (أستخدم Linux) ، فسوف أقوم بحل هذا.

كنت أحصل عليه باستمرار عندما تم توصيل guard-zeus . فقط قم بتشغيل guard ، وربما قم بتشغيل بعض المواصفات ، واضغط على ctrl + D والمعزوفة. أنا أستخدم Linux أيضًا.

نعم ، تحديث ناتج زيوس الرائع يتداخل مع Pry.

الحل:

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

الحل الآخر هو بالطبع تشغيل زيوس في محطة منفصلة.

لقد أرسلت مشكلة هنا: https://github.com/guard/guard-zeus/issues/18

يحتاج إلى تغييرات في زيوس لدعم هذا بالرغم من ذلك.

لطيف. سأضع هذا في الاعتبار للمضي قدمًا إذا واجهت أي مشكلات مماثلة. في الوقت الحالي ، قمنا بالتبديل إلى spring .

إذا كنت تستخدم Spring على Linux ، فقد ترغب في الاشتراك في هذه المشكلة: https://github.com/jonleighton/spring-watcher-listen/issues/1 (بشكل أساسي ، بمجرد أن أصل إليه ، سيستخدم الربيع inotify على Linux بدلاً من الاقتراع).

لطيف! يتبع.

لذلك ، أرى في المستندات https://github.com/guard/guard/wiki/Add-Readline-support-to-Ruby-on-Mac-OS-X الإصلاح .editrc الذي ذكرته ليس ر هناك. لقد بحثت عنه في التاريخ ، واتضح أنه كان في Pry Docs

كيف يمكنني الحصول على دعم readline (ctrl + r وما إلى ذلك) لبرنامج Pry في OSX؟

من الناحية الفنية بالنسبة إلى OSX ، لا تحتاج إلى readline ، وسنركز على استخدام libedit الذي يأتي مع OSX بدلاً منه.

قم بتحرير الملف .editrc في الدليل الرئيسي الخاص بك. أضف هذا الخط:

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

يمكنك الآن استخدام ctrl + r لإجراء بحث عكسي عن السجل.

المرجع: http://hints.macworld.com/article.php؟story=20080313113705760

بدلاً من ذلك ، قم بتثبيت GNU Readline واحصل على Ruby لاستخدامه: https://github.com/guard/guard/wiki/Add-Readline-support-to-Ruby-on-Mac-OS-X

أخيرًا ، يعمل Pry مع rb-readline ، وهو تطبيق Ruby الخالص لـ Readline والذي لا ينبغي أن يعاني من النظام الأساسي وتثبيت التبعيات الخاصة بـ Readline القياسي.
المرجع: https://github.com/luislavena/rb-readline

يبدو أن هذه المستندات تتحدث مع بعضها البعض. هل يمكنني إضافة معلومات editrc أو الارتباط إلى مستندات pry؟

@ bf4 -

هل يمكنني إضافة معلومات editrc أو الارتباط إلى مستندات pry؟

قطعا! وسيكون موضع تقدير كبير!

انا أيضا لدي هذه المشكلة. حتى بعد إعادة التشغيل الجديدة ، أستخدم spring + guard ، عندما أضع نقطة توقف ملزمة. حاول في الكود الخاص بي ، لا يمكنني رؤية أي شيء أكتبه. حاولت إضافة bind "^R" em-inc-search-prev إلى ~/.editrc وأعدت تشغيل الجهاز ولكن ذلك لم يساعد. حاولت reset أيضًا ، لم يساعد.

rahilsondhi export DISABLE_SPRING=1 وستختفي كل مشاكلك

شكرا. حاولت وضع ذلك في مبنى الركاب قبل بدء الحراسة - لا
حجر النرد. حتى أنني أزلت الربيع من ملف الحرس الخاص بي ، بلا نرد.

يوم الثلاثاء 7 أبريل 2015 الساعة 11:21 صباحًا ، بنيامين فلايشر <
[email protected]> كتب:

rahilsondhi https://github.com/rahilsondhi تصدير DISABLE_SPRING = 1 و
كل مشاكلك ستزول

-
قم بالرد على هذا البريد الإلكتروني مباشرة أو قم بعرضه على GitHub
https://github.com/guard/guard/issues/619#issuecomment -90688628.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات