Ruby on rails Rails控制台未加载

Ruby on rails Rails控制台未加载,ruby-on-rails,ruby,Ruby On Rails,Ruby,当尝试启动rails控制台时I不断出现以下错误 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 loade

当尝试启动
rails控制台时
I不断出现以下错误

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>'
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):库未加载:/Users/rigelstpierre/.rvm/usr/lib/libreadline.6.2.dylib(加载错误)
引用自:/Users/rigelstpierre/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86\u 64-darwin11.4.0/readline.bundle
原因:找不到映像-/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`'
来自/Users/rigelstpierre/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.2/lib/rails/commands/console.rb:3:in'require'
来自/Users/rigelstpierre/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.2/lib/rails/commands/console.rb:3:in`'
from/Users/rigelstpierre/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.2/lib/rails/commands.rb:38:in'require'
来自/Users/rigelstpierre/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.2/lib/rails/commands.rb:38:in`'
来自脚本/rails:6:in'require'
来自脚本/rails:6:in`'

有什么想法吗?Rails 3.2.2应用程序可能安装了多个版本的readline

请尝试以下操作:

brew link readline --force

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


如果仍不起作用,请查找哪个readline并移至readline文件夹,然后删除不需要的版本(或通过运行brew update安装的版本)。然后再次运行
brew链接读线

这是我几天前做的。您可以尝试重新安装/重新编译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

重新安装
readline
后,我仍然无法加载
rails控制台

然而,重新安装ruby为我做到了这一点

rvm reinstall 1.9.3

PS:我在OSX El Capitan上

在macOS Sierra上,我在自制和libreadline上遇到了同样的问题, 我尝试了
brew链接阅读行
brew链接阅读行--force
brew更新
但这一切都是徒劳的,于是我找到了另一个解决我问题的办法

出现链接问题,自制所需的libreadline已取消链接,无法通过
brew命令链接

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

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


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

对于我在macOS sierra上的情况,
brew link readline
brew link readline--force
不起作用,我最近运行了
brew update
。但是
rails控制台
在我执行以下操作后可以工作:


rvm重新安装2.3.1

从别处看,所有重新链接选项都不起作用。有人建议重新安装rvm(这似乎很繁重)。但是,只需将readline添加到Gemfile中即可:

gem 'rb-readline'

在我的例子中,readline的版本号不同,我缺少
libreadline.7.dylib
。使用自制软件链接和取消链接没有帮助。但是,以下方面没有这样做:

~$ 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

我试过了,但还是什么都没有。对不起,我不清楚。那个命令返回了什么?我怀疑您的readline安装可能有问题。我浏览了这篇博文,然后运行了“brew链接readline”,这就创建了符号链接/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/x8664-darwin11.4.0/readline.bundle,9):库未加载:/Users/rigelstpierre/.rvm/usr/lib/libncurses.5.dylib(LoadError)引用自:/Users/rigelstpierre/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86\u 64-darwin11.4.0/readline.bundle原因:未找到合适的映像。确实发现:'我必须做:
brew link readline——强制
使其工作。谢谢。这起作用了,删除了
/usr/local/cillar/readline
中的较新版本,运行了上述命令并再次起作用!别担心。但是老兄,我花了很长时间才这么做。我基本上是从这个页面尝试了其他解决方案,但没有任何效果……欢迎使用堆栈溢出!如果不解释为什么这会有帮助,“运行这个”答案是没有用的。好的,明白了。需要care@JoeC我同意。答案应该是最低限度的解释。这确实解决了我的问题,虽然它没有解释。对我来说是有效的。谢谢