【问题标题】:rails c not working in rails 5rails c在rails 5中不起作用
【发布时间】:2017-03-19 01:31:50
【问题描述】:

关于在 rails 5 应用程序中的终端中使用命令

rails c

抛出的错误如下所示。我不知道这在此处的类似问题中意味着什么,解决方案是使用弹簧停止。我也试过了,但没有,它仍然给出了同样的错误。如果有人能在这里指出错误,那就太好了。

Running via Spring preloader in process 6457
/Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require': dlopen(/Users/AmanChawla/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/x86_64-darwin15/readline.bundle, 9): Library not loaded: /usr/local/opt/readline/lib/libreadline.6.dylib (LoadError)
  Referenced from: /Users/AmanChawla/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/x86_64-darwin15/readline.bundle
  Reason: image not found - /Users/AmanChawla/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/x86_64-darwin15/readline.bundle
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `block in require'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
    from /Users/AmanChawla/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/irb/completion.rb:10:in `<top (required)>'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `block in require'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/commands/console.rb:3:in `<top (required)>'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `block in require'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/commands/commands_tasks.rb:138:in `require_command!'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/commands/commands_tasks.rb:68:in `console'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/commands/commands_tasks.rb:49:in `run_command!'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/commands.rb:18:in `<top (required)>'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `block in require'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
    from /Users/AmanChawla/Desktop/NewApp/bin/rails:9:in `<top (required)>'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:287:in `load'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:287:in `block in load'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
    from /Users/AmanChawla/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:287:in `load'
    from /Users/AmanChawla/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/AmanChawla/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from -e:1:in `<main>'

【问题讨论】:

  • 您更新 HomeBrew 了吗?和/或您是否更新了 Mac OSX Sierra?此错误很可能是由更新自制软件引起的,因为它已针对 Sierra 进行了修补
  • 库未加载:/usr/local/opt/readline/lib/libreadline.6.dylib 是问题
  • 我该如何解决这个问题?
  • 我想知道你更新了什么
  • 请在此处查看我的答案(已接受)stackoverflow.com/questions/37738934/…

标签: ruby-on-rails command-line ruby-on-rails-5 rails-console


【解决方案1】:

这是解决此问题的标准方法,试试这个.. 它应该能让你继续前进

brew rm -f readline

brew install readline

brew link readline --force

这里是参考链接rails console doesn't load due to libreadline

【讨论】:

    【解决方案2】:

    我最近在更新 HomeBrew 时遇到了这个问题,我也在使用 rails 5 并找到了这个解决方案,它对我有用:

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

    来源:https://gist.github.com/mcshakes/c87e8adda174c73be354094800b9756d

    更新

    对于 readline 8 和更新版本,请遵循@Cody Elhard 给出的答案

    【讨论】:

    • 有效! Ruby 2.5.0,Rails 5.1.4 操作系统/x
    • 也可以是:ln -s /usr/local/opt/readline/lib/libreadline.8.dylib /usr/local/opt/readline/lib/libreadline.7.dylib
    • 如果你有 readline 8 你需要做ln -s /usr/local/opt/readline/lib/libreadline.8.0.dylib /usr/local/opt/readline/lib/libreadline.7.dylib
    • 这可以被视为修复吗?通过模仿该文件来修复指向不存在文件的指针似乎不是一个解决方案。而是一个快速补丁。有没有办法让它指向正确的文件?
    【解决方案3】:

    另一个问题可能是您的路径中的 ruby​​ 版本 - 请仔细检查。

    ruby -v
    ls -la `which ruby`
    

    然后检查你的路径

    【讨论】:

      【解决方案4】:

      我通过简单地添加这个 gem gem 'rb-readline' 并运行 bundle 解决了这个问题。

      rb-readline

      【讨论】:

        【解决方案5】:

        如果由于使用 homebrew 更新 readline 而发生此错误,则作为一般方法

        阅读brew install readline的输出可以找到新版本

        我的输出:readline 8.0.0 is already installed and up-to-date

        加载错误可以找到旧版本

        我的错误(注意 7):Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib (LoadError)

        ln -s new_version/path/to/readline original_version/path/to/readline
        

        就我而言,我的命令是

        ln -s /usr/local/opt/readline/lib/libreadline.8.0.dylib /usr/local/opt/readline/lib/libreadline.7.dylib
        

        【讨论】:

        • 在我的 Macbook 出现奇怪错误后为我工作,谢谢
        • 我的症状在brew cleanup 之后开始出现。这解决了它!
        • 非常感谢您解释如何思考这个问题。这对我来说非常有效。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-07-17
        • 1970-01-01
        • 1970-01-01
        • 2021-06-06
        • 1970-01-01
        • 1970-01-01
        • 2018-06-21
        相关资源
        最近更新 更多