[ruby-on-rails] readline 오류로 인해 “rails 콘솔”을 실행할 수 없습니다.

rails console이 오류로 인해 실행할 수 없습니다 .

localhost:TwitterForZombies wiz$ rails c
/Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/irb/completion.rb:9:in `require': dlopen(/Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin12.2.1/readline.bundle, 9): Library not loaded: /usr/local/opt/readline/lib/libreadline.6.2.dylib (LoadError)
  Referenced from: /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin12.2.1/readline.bundle
  Reason: image not found - /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin12.2.1/readline.bundle
    from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/irb/completion.rb:9:in `<top (required)>'
    from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/commands/console.rb:3:in `require'
    from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/commands/console.rb:3:in `<top (required)>'
    from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/commands.rb:38:in `require'
    from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/commands.rb:38:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

homebrew를 통해 readline을 설치했습니다. rvm 대신 rbenv를 계속 사용하고 싶습니다.

제 질문을 읽어 주셔서 감사합니다.



답변

최근에 homebrew와 libreadline.7.x.dylib / libreadline.6.x.dylib에서 같은 문제가 발생했습니다.

다음을 실행하여 해결했습니다.

ln -s /usr/local/opt/readline/lib/libreadline.7.0.dylib /usr/local/opt/readline/lib/libreadline.6.dylib

출처 : https://github.com/rails/rails/issues/26658


답변

Homebrew는 훌륭하지만 가끔 다른 움직이는 부분과 잘 어울리지 않습니다.

A는 brew update && brew upgrade에서 가져온 libreadline.7.x.dylib자동으로 제거하는 동안 libreadline.6.x.dylib루비는 여전히 의존 하였다.

문제를 해결하는 더 영리한 방법이있을 수 있지만 무차별 대입이 저에게 효과적이었습니다.

$ rbenv uninstall 2.3.1
$ rbenv install 2.3.1
$ cd /path/to/my/app
$ bundle

위의 내용은 rbenv ruby-build와 물론 존재한다고 가정합니다 bundler. 2.3.1사용중인 루비 버전으로 교체하십시오 .

다른 홈브류 관리 라이브러리에서도 유사한 문제가 발생할 수 있습니다 (예 : 이에 대한 내 답변 참조 ).


답변

저는 OSX, ruby2.3.0, rails5에 있습니다. 추가 gem 'rb-readline'내에 Gemfile고정이 문제를 해결합니다.


답변

Ruby 2.1.0과 rails 4.0에서 같은 오류가 발생했습니다. 많은 것을 검색하고 시도한 후에 마침내 잘 작동합니다.) 다음은 내가 한 일입니다.

rvm cleanup all
rvm autolibs enable
rvm install 2.1.0

다른 방법 :

brew update
brew uninstall readline
brew install readline

autolibs 명령은 RVM이 모든 종속성을 강제로 설치하므로 걱정할 필요가 없습니다.

도움이 되었기를 바랍니다.


답변

Sachin이 암시했듯이 readline을 설치 한 다음 Ruby를 다시 설치하는 것이 이상적인 접근 방식이지만 rbenv의 세부 사항은 약간 다릅니다. 파일 경로가 주어지면 Mac을 사용하는 것 같으므로 다음이 도움이 될 것입니다.

brew install readline ruby-build
env CONFIGURE_OPTS=--with-readline-dir=`brew --prefix readline` rbenv install 1.9.3-p286

이것은 루비 빌드 위키 와 빠른 Google 검색 에서 가져 왔습니다 .


답변

Mac, El Captain버전을 사용하면 다음 을 수행하는 것만으로도 고칠 수 있습니다.

rvm reinstall your_ruby_version

(처럼 rvm reinstall ruby-2.3.1)

이것이 도움이되기를 바랍니다. 행운을 빕니다!


답변

github 사용자 @enderahmetyurt에서 가져 왔습니다 (이것은 나를 위해 일한 유일한 솔루션입니다).

해결 방법 : 추가 gem 'rb-readline'에 Gemfile에 개발 그룹설치 번들 .

어리석은 “readline”오류에 대한 가장 쉬운 솔루션입니다.