18

尝试启动时,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 应用

4

8 回答 8

25

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

尝试以下操作:

brew link readline --force
于 2012-09-25T22:59:12.070 回答
15

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

所以取决于你的经理:

虚拟机

rvm reinstall 2.3.0

Rbenv

rbenv uninstall 2.3.0
rbenv install 2.3.0

自卫队

asdf uninstall ruby 2.3.0
asdf install ruby 2.3.0
于 2016-10-08T23:20:59.837 回答
15

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

gem 'rb-readline'
于 2017-02-06T19:21:49.727 回答
12

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

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

于 2016-09-29T15:32:34.340 回答
5

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

rvm reinstall 2.3.1

于 2017-01-20T08:55:11.817 回答
3

重装后readline还是无法加载rails console

但是,重新安装ruby为我做了。

rvm reinstall 1.9.3

PS:我在 OSX El Capitan

于 2016-11-24T10:02:38.343 回答
1

在 macOS Sierra 上,我在 homebrew 和 libreadline 上遇到了同样的问题,我尝试这样做brew link readline,但一切都是徒劳的,brew link readline --force然后brew update 我找到了另一个解决我的问题的解决方案。

自制程序所需的 libreadline 存在链接问题未链接且无法链接brew commands

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

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

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

于 2017-01-07T16:03:19.177 回答
1

就我而言, 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
于 2019-03-22T18:51:57.230 回答