Rails控制台未加载

rig*_*rre 17 ruby ruby-on-rails

尝试启动时,rails console我不断收到以下错误

Users/rigelstpierre/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/completion.rb:9:in `require': dlopen(/Users/rigelstpierre/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.4.0/readline.bundle, 9): Library not loaded: /Users/rigelstpierre/.rvm/usr/lib/libreadline.6.2.dylib (LoadError)
  Referenced from: /Users/rigelstpierre/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.4.0/readline.bundle
  Reason: image not found - /Users/rigelstpierre/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.4.0/readline.bundle
    from /Users/rigelstpierre/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/completion.rb:9:in `<top (required)>'
    from /Users/rigelstpierre/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.2/lib/rails/commands/console.rb:3:in `require'
    from /Users/rigelstpierre/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.2/lib/rails/commands/console.rb:3:in `<top (required)>'
    from /Users/rigelstpierre/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.2/lib/rails/commands.rb:38:in `require'
    from /Users/rigelstpierre/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.2/lib/rails/commands.rb:38:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?Rails 3.2.2应用程序

小智 25

可能是安装了多个版本的readline.

请尝试以下方法:

brew link readline --force
Run Code Online (Sandbox Code Playgroud)

  • 我不得不这样做:`brew link readline --force`让它工作.谢谢. (5认同)

Luk*_*yka 14

我几天前就有这个.您可以尝试重新安装/重新编译您的ruby.在我的情况下,从El Capitan更新到Sierra时出现了问题

所以取决于你的经理:

RVM

rvm reinstall 2.3.0
Run Code Online (Sandbox Code Playgroud)

Rbenv

rbenv uninstall 2.3.0
rbenv install 2.3.0
Run Code Online (Sandbox Code Playgroud)

ASDF

asdf uninstall ruby 2.3.0
asdf install ruby 2.3.0
Run Code Online (Sandbox Code Playgroud)


Joe*_* B. 12

在其他地方寻找,没有一个重新连接选项有效.有人建议重做rvm安装(看起来很麻烦).但是,只需在Gemfile中添加readline就可以了:

gem 'rb-readline'
Run Code Online (Sandbox Code Playgroud)


小智 10

这是因为安装了多个版本的readline(可能是因为你brew update最近运行过).罗恩说的是对的.您可以通过运行brew link readline或修复它brew link readline --force.

如果它仍然不起作用,找到哪个readline并移动到readline文件夹然后删除您不需要的版本(或通过运行brew update安装的版本).然后又跑brew link readline了.

  • 这工作,删除了`/ usr/local/Cellar/readline`中的新版本,运行上面的命令再次工作! (4认同)

小智 5

对于我在 macOS sierra 上,brew link readline或者brew link readline --force不起作用,我brew update最近跑了。但是rails console在我执行以下操作后确实有效:

rvm reinstall 2.3.1