Rails控制台未加载

时间:2012-09-25 21:49:14

标签: ruby-on-rails ruby

尝试启动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>'

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

8 个答案:

答案 0 :(得分:25)

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

尝试以下方法:

brew link readline --force

答案 1 :(得分:12)

我几天前这样做过。您可以尝试重新安装/重新编译您的ruby。在我的情况下,当从El Capitan更新到Sierra

时出现问题

所以取决于你的经理:

<强> RVM

rvm reinstall 2.3.0

<强> Rbenv

rbenv uninstall 2.3.0
rbenv install 2.3.0

<强> ASDF

asdf uninstall ruby 2.3.0
asdf install ruby 2.3.0

答案 2 :(得分:10)

这是因为安装了多个版本的readline(可能是因为你最近运行了brew update)。罗恩说的是对的。您可以通过运行brew link readlinebrew link readline --force来解决此问题。

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

答案 3 :(得分:8)

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

gem 'rb-readline'

答案 4 :(得分:4)

对于macOS sierra上的我,213GD20160018... ^ brew link readline不起作用,我最近运行了brew link readline --force。但brew update在我执行以下操作后仍可正常工作:

rails console

答案 5 :(得分:2)

重新安装readline后,我仍然无法加载rails console

然而,重新安装ruby为我做了这件事。

rvm reinstall 1.9.3

PS:我是OSX El Capitan

答案 6 :(得分:1)

在macOS Sierra上我遇到了与自制软件和libreadline相同的问题, 我尝试brew link readlinebrew link readline --forcebrew update 但都是徒劳的,那么我找到了解决我问题的另一种解决方案。

有一个链接问题,自制软件所需的libreadline已取消链接,无法通过brew commands链接

创建符号链接解决了我的问题。

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

尝试创建符号链接。希望这能解决你的问题。

答案 7 :(得分:0)

在我的情况下,readline的版本号不同,并且我缺少libreadline.7.dylib。使用Homebrew进行链接和取消链接没有帮助。但是,以下内容可以做到:

~$ cd /usr/local/opt/readline/lib
/usr/local/opt/readline/lib$ ls -l
total 1448
-r--r--r--  1 ceasar  staff   40396 Mar 22 11:35 libhistory.8.0.dylib
lrwxr-xr-x  1 ceasar  staff      20 Dec 19 13:07 libhistory.8.dylib -> libhistory.8.0.dylib
-r--r--r--  1 ceasar  staff   45848 Dec 19 13:07 libhistory.a
lrwxr-xr-x  1 ceasar  staff      20 Dec 19 13:07 libhistory.dylib -> libhistory.8.0.dylib
-rw-r--r--  1 ceasar  staff  239260 Mar 22 11:35 libreadline.8.0.dylib
lrwxr-xr-x  1 ceasar  staff      21 Dec 19 13:07 libreadline.8.dylib -> libreadline.8.0.dylib
-r--r--r--  1 ceasar  staff  406384 Dec 19 13:07 libreadline.a
lrwxr-xr-x  1 ceasar  staff      21 Dec 19 13:07 libreadline.dylib -> libreadline.8.0.dylib
drwxr-xr-x  3 ceasar  staff      96 Mar 22 11:35 pkgconfig
/usr/local/opt/readline/lib$ ln -s libreadline.dylib libreadline.7.dylib