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我同意。答案应该是最低限度的解释。这确实解决了我的问题,虽然它没有解释。对我来说是有效的。谢谢