簡體   English   中英

無法執行Rails控制台命令Ruby

[英]Unable to Execute Rails console command Ruby

/Users/parkerharris/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/irb/completion.rb:10:in `require': dlopen(/Users/parkerharris/.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/parkerharris/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/x86_64-darwin15/readline.bundle
  Reason: image not found - /Users/parkerharris/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/x86_64-darwin15/readline.bundle
    from /Users/parkerharris/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/irb/completion.rb:10:in `<top (required)>'
    from /Users/parkerharris/.rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/commands/console.rb:3:in `require'
    from /Users/parkerharris/.rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/commands/console.rb:3:in `<top (required)>'
    from /Users/parkerharris/.rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/commands/commands_tasks.rb:138:in `require'
    from /Users/parkerharris/.rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/commands/commands_tasks.rb:138:in `require_command!'
    from /Users/parkerharris/.rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/commands/commands_tasks.rb:68:in `console'
    from /Users/parkerharris/.rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/commands/commands_tasks.rb:49:in `run_command!'
    from /Users/parkerharris/.rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/commands.rb:18:in `<top (required)>'
    from bin/rails:4:in `require'
    from bin/rails:4:in `<main>'

嘗試執行命令后,這是我的錯誤屏幕。 我試圖卸載並重新安裝readline,但沒有幫助。 我只是在學習rails並且不會100%知道我在做什么(只是按照指南)所以這種類型的錯誤超出了我的理解。 謝謝!

可能不相關,但我今天也遇到了同樣的事情。

今天早上我有一個功能齊全的Ruby 2.3.1正常工作。 就我而言,Ruby是由ruby-build編譯和安裝的,由rbenv管理。

今天我一度更新了Homebrew

brew cleanup --prune=30
brew update
brew upgrade

其中一個升級的公式是readline 7.0:

$ brew info readline
...
/usr/local/Cellar/readline/7.0 (45 files, 2M)
  Poured from bottle on 2016-10-05 at 08:09:22

不久之后我發現我對Ruby的readline支持已經徹底破解了。 我看到了和你一樣的錯誤:

/Users/mbrictson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/pry-0.10.4/lib/pry/config/default.rb:151:in `require': dlopen(/Users/mbrictson/.rbenv/versions/2.3.1/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/mbrictson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/x86_64-darwin15/readline.bundle
  Reason: image not found - /Users/mbrictson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/x86_64-darwin15/readline.bundle
  from /Users/mbrictson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/pry-0.10.4/lib/pry/config/default.rb:151:in `lazy_readline'

解決方案是完全刪除我的Ruby安裝並重新編譯它:

rm -rf ~/.rbenv/versions/2.3.1
rbenv install 2.3.1

我知道你使用的是rvm而不是rbenv,但也許你的情況下的解決方案類似:刪除你的Ruby安裝並使用rvm重新安裝它。

一個非常快速和快速的解決方案是將rb-readline添加到您的Gemfile中。 (如果其他解決方案不起作用,您希望繼續,直到您有時間解決問題。我知道這不是理想的,但它是一個有效的解決方案。)

在GemFile中:

group :development do gem 'rb-readline' end

現在,只需捆綁安裝。 我在選項4上找到了這個解決方案( https://github.com/guard/guard/wiki/Add-Readline-support-to-Ruby-on-Mac-OS-X )我希望它有所幫助。

你的rvm ,它似乎與rails無關。 請確認它是否安裝正確。

確保您已在https://rvm.io/rvm/prerequisites上檢查了rvm先決條件

並且您的安裝工作正常,例如

(來自: https//rvm.io/rvm/install如果安裝和配置成功,則無論何時打開新shell,都應加載RVM。 這可以通過執行以下命令來測試,該命令應輸出rvm是如下所示的函數。

$ type rvm | head -n 1
rvm is a function

檢查你的mac是否正確編譯了readline ,或者再次嘗試干凈安裝ruby-2.3.0

您可以在以下網址查看有關軟件包和autolib的RVM: https ://rvm.io/packages/readline

我有類似的問題。 我的Ruby是使用HomeBrew安裝的。 在我的情況下,我需要卸載Ruby; 安裝/鏈接libyaml; 然后重新安裝ruby。

brew uninstall ruby
brew link libyaml
brew install ruby

當我在安裝ruby 2.3.1后無意中運行rvm requirements時,我發生了同樣的事情。

rvm uninstall 2.3.1
rvm   install 2.3.1

以上修好了。

從命令行運行它對我有用:

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

來自github

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM