Guard: κ°€λ“œλ₯Ό μ’…λ£Œν•œ ν›„ 터미널에 μž…λ ₯이 ν‘œμ‹œλ˜μ§€ μ•ŠμŒ

에 λ§Œλ“  2014λ…„ 08μ›” 13일  Β·  23μ½”λ©˜νŠΈ  Β·  좜처: guard/guard

λ‚˜λŠ” μž μ‹œ λ™μ•ˆμ΄ μ΄μƒν•œ 행동에 μ§λ©΄ν–ˆμŠ΅λ‹ˆλ‹€. ctrl+D κ°€λ“œλ₯Ό μ’…λ£Œν•˜κ³  bash ν”„λ‘¬ν”„νŠΈκ°€ ν‘œμ‹œλ˜λ©΄ μž…λ ₯ν•  λ•Œ ν”„λ‘¬ν”„νŠΈμ— 아무 것도 λ‚˜νƒ€λ‚˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ‰˜ λͺ…령을 μž…λ ₯ν•˜λ©΄ μ‹€ν–‰λ˜μ§€λ§Œ μž…λ ₯ν•  λ•Œ ν…μŠ€νŠΈκ°€ ν‘œμ‹œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μž…λ ₯ν•œ λͺ…λ Ήμ˜ 좜λ ₯이 ν‘œμ‹œλ©λ‹ˆλ‹€. GNU bash, version 4.2.25(1)-release (x86_64-pc-linux-gnu) .

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

κ·Έλ™μ•ˆ reset μž…λ ₯ν•΄ λ³΄μ…¨μŠ΅λ‹ˆκΉŒ?

(λ‚΄κ°€ pry-byebug둜 κ°€λ“œλ₯Ό μ‹€ν–‰ν•  λ•Œ λ‚΄κ°€ κ°€λ“œ repl에 μž…λ ₯ν•œ λ‚΄μš©μ„ λ³Ό 수 있기 λ•Œλ¬Έμ— 이 문제λ₯Ό μ°Ύμ•˜μ§€λ§Œ νŒŒμΌμ— binding.pryλ₯Ό μΆ”κ°€ν•˜λ©΄ λ‚΄κ°€ μž…λ ₯ν•˜λŠ” λ‚΄μš©μ„ λ³Ό 수 μ—†μŠ΅λ‹ˆλ‹€. κ·Έ λŒ€λ‹΅μ—μ„œ μ΄μƒν•˜λ‹€

λͺ¨λ“  23 λŒ“κΈ€

일뢀 stdout/stderr μž”μ—¬λ¬Ό λ˜λŠ” μ–Έλ°λ“œ pry μ„Έμ…˜/μŠ€λ ˆλ“œμΌ 수 μžˆμŠ΅λ‹ˆλ‹€.

Guard 2.7.0이 μΆœμ‹œλ˜μ—ˆλŠ”λ° 아직도 λ¬Έμ œκ°€ μžˆλ‚˜μš”? κ·Έλ ‡λ‹€λ©΄ ν”„λ‘¬ν”„νŠΈλ₯Ό 보이지 μ•Šκ²Œ λ§Œλ“œλŠ” λ§ˆμ§€λ§‰ 쀄은 λ¬΄μ—‡μž…λ‹ˆκΉŒ?

κ°μ‚¬ν•©λ‹ˆλ‹€. μ—…κ·Έλ ˆμ΄λ“œν•˜κ³  이번 주에 μ–΄λ–»κ²Œ λ˜λŠ”μ§€ ν™•μΈν•˜κ² μŠ΅λ‹ˆλ‹€.

방금 μ—…κ·Έλ ˆμ΄λ“œν–ˆλŠ”λ° μ—¬μ „νžˆ 이 λ¬Έμ œκ°€ ν‘œμ‹œλ©λ‹ˆλ‹€. 두 번째 질문이 무엇을 μ˜λ―Έν•˜λŠ”μ§€ 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. GuardλŠ” 사양을 μ‹€ν–‰ν•œ ν›„ 유휴 μƒνƒœμ΄λ©° ctrl+D λ₯Ό 눌러 μ’…λ£Œν•˜λ©΄ $ bash ν”„λ‘¬ν”„νŠΈκ°€ ν‘œμ‹œλ˜μ§€λ§Œ λͺ…령을 μž…λ ₯ν•˜λ €κ³  ν•˜λ©΄ κ·Έ 뒀에 아무 것도 ν‘œμ‹œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

GuardλŠ” LumberJack을 μ‚¬μš©ν•˜λ©° μ •λ¦¬λ˜μ§€ μ•ŠλŠ” LumberJack μŠ€λ ˆλ“œλΌκ³  μƒκ°ν•©λ‹ˆλ‹€(κ·Έλž˜μ„œ κ°€λ“œκ°€ μ’…λ£Œλ˜λ©΄ LumberJack은 μ…Έ ν”„λ‘¬ν”„νŠΈλ₯Ό 받은 ν›„ "λ°±κ·ΈλΌμš΄λ“œ"에 λ‚˜λ¨Έμ§€ 좜λ ₯ λ©”μ‹œμ§€λ₯Ό λ€ν”„ν•˜λ―€λ‘œ ... μ…Έ ν”„λ‘¬ν”„νŠΈ μˆ¨κ²¨μ§‘λ‹ˆλ‹€.

이것은 μ•„λ§ˆλ„ 곧 μˆ˜μ •λ  κ²ƒμž…λ‹ˆλ‹€.

μ•„, μ•Œμ•˜μ–΄. 감사 ν•΄μš”!

κ·Έλ™μ•ˆ reset μž…λ ₯ν•΄ λ³΄μ…¨μŠ΅λ‹ˆκΉŒ?

(λ‚΄κ°€ pry-byebug둜 κ°€λ“œλ₯Ό μ‹€ν–‰ν•  λ•Œ λ‚΄κ°€ κ°€λ“œ repl에 μž…λ ₯ν•œ λ‚΄μš©μ„ λ³Ό 수 있기 λ•Œλ¬Έμ— 이 문제λ₯Ό μ°Ύμ•˜μ§€λ§Œ νŒŒμΌμ— binding.pryλ₯Ό μΆ”κ°€ν•˜λ©΄ λ‚΄κ°€ μž…λ ₯ν•˜λŠ” λ‚΄μš©μ„ λ³Ό 수 μ—†μŠ΅λ‹ˆλ‹€. κ·Έ λŒ€λ‹΅μ—μ„œ μ΄μƒν•˜λ‹€

@bf4 - 버퍼링 문제일 수 μžˆμŠ΅λ‹ˆλ‹€. Guardfile을 넣을 수 μžˆμŠ΅λ‹ˆλ‹€.

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

μ•±μ˜ μ–΄λ”˜κ°€μ—μ„œ λ™μΌν•œ μž‘μ—…μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€(예: binding.pry ).

μ΄λŠ” λ³€κ²½ 사항이 μžˆλŠ”μ§€ ν™•μΈν•˜κΈ° μœ„ν•œ κ²ƒμž…λ‹ˆλ‹€(λ™κΈ°ν™”λœ 좜λ ₯은 μœ μ§€ν•˜λŠ” 것이 μ˜λ―Έκ°€ μ—†μŒ).

λ˜ν•œ readline 및 Pry의 문제일 수 μžˆμœΌλ―€λ‘œ λ¬Έμ„œμ—μ„œ ν˜„μž¬ ꢌμž₯λ˜λŠ” λ‚΄μš©μ— 따라 λ‘˜ λ‹€ μ œκ±°ν•˜κ³  Pry(및 readline)λ₯Ό μ„€μΉ˜ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

λ˜λŠ” μ–΄λ”˜κ°€μ— μ‚¬μš©μž μ •μ˜ ꡬ성이 μ—†λŠ”μ§€ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

readline-rb gem을 μ œκ±°ν•˜κ³  osxλ‹Ή .editrcλ₯Ό νŽΈμ§‘ν•˜μ—¬ μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€.
readline μ œμ•ˆ λ°”λ‘œ μ•žμ˜ λ¬Έμ„œ. osx의 rvm을 ν†΅ν•œ Ruby 2.1.4,
κ°€λ“œ 2.7 및 2.9

Guard λ¬Έμ œκ°€ μ•„λ‹ˆλΌ readline 문제인 것 κ°™μ•„μ„œ λ‹«μŠ΅λ‹ˆλ‹€.

이λ₯Ό 방지(λ˜λŠ” μˆ˜μ •)ν•˜κΈ° μœ„ν•΄ Guardμ—μ„œ ν•  수 μžˆλŠ” 일이 있으면 λ‹€μ‹œ μ—΄μ–΄μ£Όμ„Έμš”.

μ‹€μ œλ‘œ guard-zeus λ¬Έμ œκ°€ μžˆμ—ˆλ˜ 것 κ°™μŠ΅λ‹ˆλ‹€. κ·Έ 보석을 μ œκ±°ν•˜λ©΄ λ¬Έμ œκ°€ μ‚¬λΌμ‘ŒμŠ΅λ‹ˆλ‹€.

@mockdeep - μ΄μƒν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ•Œλ €μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. λ§Œμ•½ λ‚΄κ°€ 그것을 μž¬ν˜„ν•œλ‹€λ©΄(λ‚˜λŠ” λ¦¬λˆ…μŠ€λ₯Ό μ‚¬μš©ν•œλ‹€), λ‚˜λŠ” 이것을 ν•΄κ²°ν•  것이닀.

guard-zeus κ°€ μ—°κ²°λ˜μ—ˆμ„ λ•Œ κ½€ μΌκ΄€λ˜κ²Œ μ–»μ—ˆμŠ΅λ‹ˆλ‹€. guard λΆ€νŒ…ν•˜κ³  일뢀 사양을 μ‹€ν–‰ν•˜κ³  ctrl+Dλ₯Ό λˆ„λ₯΄κ³  prestoλ₯Ό λˆ„λ₯΄μ‹­μ‹œμ˜€. 저도 λ¦¬λˆ…μŠ€λ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

예, 멋진 Zeus 좜λ ₯ μ—…λ°μ΄νŠΈκ°€ Pryλ₯Ό λ°©ν•΄ν•©λ‹ˆλ‹€.

ν•΄κ²° 방법:

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

λ‹€λ₯Έ ν•΄κ²° 방법은 λ¬Όλ‘  λ³„λ„μ˜ ν„°λ―Έλ„μ—μ„œ Zeusλ₯Ό μ‹€ν–‰ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

여기에 문제λ₯Ό μ œμΆœν–ˆμŠ΅λ‹ˆλ‹€: https://github.com/guard/guard-zeus/issues/18

ν•˜μ§€λ§Œ 이λ₯Ό μ§€μ›ν•˜λ €λ©΄ Zeus의 변경이 ν•„μš”ν•©λ‹ˆλ‹€.

멋진. μ•žμœΌλ‘œ λΉ„μŠ·ν•œ λ¬Έμ œκ°€ λ°œμƒν•˜λ©΄ 이 점을 염두에 λ‘κ² μŠ΅λ‹ˆλ‹€. μ§€κΈˆμ€ spring 둜 μ „ν™˜ν–ˆμŠ΅λ‹ˆλ‹€.

Linuxμ—μ„œ spring을 μ‚¬μš©ν•˜λŠ” 경우 https://github.com/jonleighton/spring-watcher-listen/issues/1 μ—μ„œ 이 문제λ₯Ό ꡬ독할 수 μžˆμŠ΅λ‹ˆλ‹€. 폴링 λŒ€μ‹  Linuxμ—μ„œ).

멋진! νŒ”λ‘œμš°ν–ˆμŠ΅λ‹ˆλ‹€.

λ”°λΌμ„œ λ¬Έμ„œ https://github.com/guard/guard/wiki/Add-Readline-support-to-Ruby-on-Mac-OS-X μ—μ„œ λ‚΄κ°€ μ–ΈκΈ‰ν•œ .editrc μˆ˜μ • 사항은 ' μ €κΈ°. νžˆμŠ€ν† λ¦¬μ—μ„œ μ°Ύμ•„λ³΄λ‹ˆ Pry Docs에 μžˆμ—ˆλ‹€

OSXμ—μ„œ Pry에 λŒ€ν•œ readline 지원(ctrl+r λ“±)을 μ–΄λ–»κ²Œ 받을 수 μžˆμŠ΅λ‹ˆκΉŒ?

기술적으둜 OSX의 경우 readline이 ν•„μš”ν•˜μ§€ μ•ŠμœΌλ©° λŒ€μ‹  OSX와 ν•¨κ»˜ μ œκ³΅λ˜λŠ” libeditλ₯Ό μ‚¬μš©ν•˜λŠ” 데 쀑점을 λ‘˜ κ²ƒμž…λ‹ˆλ‹€.

ν™ˆ λ””λ ‰ν† λ¦¬μ—μ„œ .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λŠ” ν”Œλž«νΌκ³Ό ν‘œμ€€ Readline의 쒅속성을 μ„€μΉ˜ν•˜μ§€ μ•Šμ•„μ•Ό ν•˜λŠ” Readline의 μˆœμˆ˜ν•œ Ruby κ΅¬ν˜„μΈ rb-readlineκ³Ό ν•¨κ»˜ μž‘λ™ν•©λ‹ˆλ‹€.
μ°Έμ‘°: https://github.com/luislavena/rb-readline

이 λ¬Έμ„œκ°€ μ„œλ‘œ μ΄μ•ΌκΈ°ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. editrc 정보λ₯Ό μΆ”κ°€ν•˜κ±°λ‚˜ pry λ¬Έμ„œμ— λŒ€ν•œ 링크λ₯Ό 좔가해도 λ©λ‹ˆκΉŒ?

@bf4 -

editrc 정보λ₯Ό μΆ”κ°€ν•˜κ±°λ‚˜ pry λ¬Έμ„œμ— λŒ€ν•œ 링크λ₯Ό 좔가해도 λ©λ‹ˆκΉŒ?

μ „μ μœΌλ‘œ! 맀우 κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€!

λ‚˜λ„μ΄ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. μƒˆλ‘œ λ‹€μ‹œ μ‹œμž‘ν•œ 후에도 spring+guardλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λ‚΄ μ½”λ“œμ— binding.pry 쀑단점을 λ„£μœΌλ©΄ μž…λ ₯ν•œ λ‚΄μš©μ„ λ³Ό 수 μ—†μŠ΅λ‹ˆλ‹€. bind "^R" em-inc-search-prev λ₯Ό ~/.editrc ν•˜κ³  터미널을 λ‹€μ‹œ μ‹œμž‘ν–ˆμ§€λ§Œ 도움이 λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. reset 도 μ‹œλ„ν–ˆμ§€λ§Œ 도움이 λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

@rahilsondhi export DISABLE_SPRING=1 그러면 λͺ¨λ“  λ¬Έμ œκ°€ μ‚¬λΌμ§ˆ κ²ƒμž…λ‹ˆλ‹€

감사 ν•΄μš”. κ°€λ“œλ₯Ό μ‹œμž‘ν•˜κΈ° 전에 터미널에 λ„£μ–΄ λ³΄μ•˜μŠ΅λ‹ˆλ‹€.
μ£Όμ‚¬μœ„. μ£Όμ‚¬μœ„κ°€ μ•„λ‹Œ Guardfileμ—μ„œ μŠ€ν”„λ§λ„ μ œκ±°ν–ˆμŠ΅λ‹ˆλ‹€.

2015λ…„ 4μ›” 7일 ν™”μš”μΌ μ˜€μ „ 11μ‹œ 21λΆ„, Benjamin Fleischer <
[email protected]>은 λ‹€μŒκ³Ό 같이 μΌμŠ΅λ‹ˆλ‹€.

@rahilsondhi https://github.com/rahilsondhi export DISABLE_SPRING=1 및
λ‹Ήμ‹ μ˜ λͺ¨λ“  λ¬Έμ œκ°€ μ‚¬λΌμ§ˆ κ²ƒμž…λ‹ˆλ‹€

β€”
이 이메일에 직접 λ‹΅μž₯ν•˜κ±°λ‚˜ GitHubμ—μ„œ ν™•μΈν•˜μ„Έμš”.
https://github.com/guard/guard/issues/619#issuecomment -90688628.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰