Ruby on rails macOS Sierra上的Rails 5控制台需要readline 6

Ruby on rails macOS Sierra上的Rails 5控制台需要readline 6,ruby-on-rails,readline,macos-sierra,Ruby On Rails,Readline,Macos Sierra,我只安装了readline 7,无法在macOS Sierra上安装版本6。这是尝试运行rails c时出现的错误: /Users/akashagarwal/.rvm/gems/ruby-2.3。0@global/gems/activesupport-5.0.0.1/lib/active\u support/dependencies.rb:293:in'require':dlopen(/Users/akashagarwal/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.

我只安装了readline 7,无法在macOS Sierra上安装版本6。这是尝试运行rails c时出现的错误:

/Users/akashagarwal/.rvm/gems/ruby-2.3。0@global/gems/activesupport-5.0.0.1/lib/active\u support/dependencies.rb:293:in'require':dlopen(/Users/akashagarwal/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/x86\u 64-darwin15/readline.bundle,9):未加载库:/usr/local/opt/readline/lib/libreadline.6.dylib(LoadError)
引用自:/Users/akashagarwal/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/x86_64-darwin15/readline.bundle 原因:找不到映像-/Users/akashagarwal/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/x86_64-darwin15/readline.bundle


我遇到了一个类似的问题,并通过以下方式解决了它:

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


资料来源:

一个对我很有效的更好答案:


rbenv安装-f2.2.3&&rbenv\u安装=2.2.3 gem pristine——所有这些都是吉姆·梅耶写的一个很好的答案,但一篇更好的博文

具体来说,如果您使用rbenv,也可能使用自制软件来安装readline,那么这就是应该做的事情:(为子孙后代剪掉)


我也犯了同样的错误,这对我很有效。
在gem文件中添加
gem'rb readline'
,并
bundle安装


只需键入
bundle exec rails c

您是否尝试重新安装ruby?我认为,当您编译ruby时,您可以通过readline支持获得它。您的操作系统更新了readline,但ruby仍在尝试使用旧版本。@radubogdan您在macOS Sierra上吗?你使用的是哪个ruby版本?很遗憾我没有,但我所有的同事都升级了,他们没有任何问题。你用的是rbenv/rvm还是“库存”ruby?@radubogdan rvm,我刚刚偶然发现了rbenv,我想我应该用它来代替。我目前正在研究:
ruby 2.3.0p0(2015-12-25修订版53290)[x86\u 64-darwin15]
。这就是你要说的吗?@radubogdan我对ruby很陌生,因为有了rails,我在这里很难找到ruby的最新版本。我确实尝试过
rvm安装ruby-2.3.12
,但它找不到。该版本是brew为我安装的,但仍然不能与rvm一起使用,我不明白为什么。这是一种黑客方式。你可能会遇到你不理解的错误。我使用rbenv更新了我的ruby版本,因此也更新了rails。现在rails需要最新的readline。这是最好的答案
> xcode-select --install
[... popup dialog launches and you do the install dance ...]
> brew update && brew upgrade
[... many package defs update and upgrade ... ]
> for i in `rbenv versions --bare|xargs`; do rbenv install -f $i && RBENV_VERSION=$i gem pristine --all; done
[... much building of ruby and gem native extensions for each installed ruby version ...]