【问题标题】:Rails Console Not LoadingRails 控制台未加载
【发布时间】:2012-09-25 21:49:13
【问题描述】:

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

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

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

    尝试以下方法:

    brew link readline --force
    

    【讨论】:

    • 试过了,还是不行。
    • 对不起,我不清楚。该命令返回了什么?我怀疑您的 readline 安装可能存在问题。
    • 我浏览了博客文章,然后运行“brew link 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/x86_64-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_64-darwin11.4.0/readline.bundle 原因:找不到合适的图像。确实找到了:'
    • 我必须这样做:brew link readline --force 才能让它工作。谢谢。
    【解决方案2】:

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

    【讨论】:

    • 不用担心。但是伙计,我花了很长时间才做到这一点。我基本上尝试了此页面上的其他解决方案,但没有任何效果....
    【解决方案3】:

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

    gem 'rb-readline'
    

    【讨论】:

    • 为我工作。谢谢!
    【解决方案4】:

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

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

    【讨论】:

    • 这个成功了,删除了/usr/local/Cellar/readline里面的新版本,运行上面的命令又成功了!
    【解决方案5】:

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

    rvm reinstall 2.3.1

    【讨论】:

      【解决方案6】:

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

      但是,我重新安装了ruby

      rvm reinstall 1.9.3
      

      PS:我在 OSX El Capitan

      【讨论】:

        【解决方案7】:

        在 macOS Sierra 上,我遇到了与 homebrew 和 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

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

        【讨论】:

        • 欢迎来到 Stack Overflow!如果没有解释为什么这会有所帮助,“运行这个”的答案是没有用的。
        • 好的,知道了。会照顾的
        • @JoeC 我同意。应强制执行带有最少解释的答案。
        • 这确实为我解决了这个问题,尽管它没有解释。
        【解决方案8】:

        就我而言,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
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-10-29
          • 1970-01-01
          • 2018-08-22
          • 2021-07-24
          • 2014-12-07
          • 2011-06-11
          • 2011-10-29
          相关资源
          最近更新 更多