[Ruby]irb에서 화살표 키를 누르면 &^[D] 등의 해결 방법이 나타납니다

1900 단어 irbRuby

컨디션

  • macOS 10.13.6
  • Ruby 2.5.3
  • 현상.

    irb에서 화살표 키를 누르면 다음과 같은 기호가 나타납니다.
    예를 들어 텍스트 수정을 위해 ← 키를 누르면...

    이렇게 됐어.

    까닭


    조사 결과irbreadline라는 프로그램 라이브러리를 사용한 것으로 밝혀졌다.
    하지만 두드려도 require "readline"
    irb(main):001:0> require "readline"
    Traceback (most recent call last):
            4: from /Users/<username>/.rbenv/versions/2.5.3/bin/irb:11:in `<main>'
            3: from (irb):1
            2: from /Users/<username>/.rbenv/versions/2.5.3/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
            1: from /Users/<username>/.rbenv/versions/2.5.3/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
    LoadError (dlopen(/Users/<username>/.rbenv/versions/2.5.3/lib/ruby/2.5.0/x86_64-darwin17/readline.bundle, 9): Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib)
      Referenced from: /Users/<username>/.rbenv/versions/2.5.3/lib/ruby/2.5.0/x86_64-darwin17/readline.bundle
      Reason: image not found - /Users/<username>/.rbenv/versions/2.5.3/lib/ruby/2.5.0/x86_64-darwin17/readline.bundle
    
    되다readline는 로컬 프로그램 라이브러리인 것 같습니다. 호스트의 버전이 바뀌었기 때문에 읽을 수 없습니다.

    대응법

    /usr/local/opt/readline/lib/libreadline.7.dylib가 없어서 이 폴더를 봤는데 libreadline.8.dylib라는 별명이 있었어요.
    이것을 복제하여 이름을 바꾸는 일libreadline.7.dylib 일로 무사히 해결되었다.

    좋은 웹페이지 즐겨찾기