由于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>' 

我已经通过自制软件安装了readline。 我想继续使用rbenv而不是rvm。

感谢您阅读我的问题。

最近我用自制软件和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

家常菜很棒,但是偶尔也会对其他一些运动部件不太好。

libreadline.7.x.dylib引入了一个brew update && brew upgrade ,同时自动删除了libreadline.6.x.dylib ,而ruby依然依赖这个libreadline.6.x.dylib

有可能有更聪明的方法来解决这个问题,但蛮力为我工作:

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

上面假设rbenv的ruby-build ,当然, bundler ; 用你正在使用的任何版本的rubyreplace2.3.1

请注意,不同的自制软件pipe理的库可能会出现类似的问题( 例如,请参阅我自己的答案 )

我得到了与Ruby 2.1.0和rails 4.0相同的错误。 经过search和尝试了很多,最后它工作得很好:)以下是我所做的:

 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的细节有点不同。 鉴于你的文件path,我猜你是在Mac上,所以下面的应该可以帮助:

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

这是从ruby维基和一个快速的谷歌search。

我在OSX上,ruby2.3.​​0,rails5。 添加Gemfile gem 'rb-readline'到我的Gemfile解决了这个问题。

使用mac, El Captain版本,可以通过这样做来解决

 rvm reinstall your_ruby_version 

(像rvm reinstall ruby-2.3.1

希望这有帮助,祝你好运!

尝试安装readline,并重新安装你的ruby

https://rvm.io/packages/readline/

从github用户@enderahmetyurt采取(这是唯一的解决scheme,为我工作)。

解决scheme:将gem'rb gem 'rb-readline'添加到开发组中的Gemfile并进行捆绑安装

这是愚蠢的“readline”错误的最简单的解决scheme。