Ответ 1
У меня была такая же проблема недавно с homebrew и libreadline.7.x.dylib/libreadline.6.x.dylib
Я решил его запустить:
ln -s /usr/local/opt/readline/lib/libreadline.7.0.dylib /usr/local/opt/readline/lib/libreadline.6.dylib
Я не могу выполнить rails console
из-за этой ошибки:
localhost:TwitterForZombies wiz$ rails c
/Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/irb/completion.rb:9:in `require': dlopen(/Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin12.2.1/readline.bundle, 9): Library not loaded: /usr/local/opt/readline/lib/libreadline.6.2.dylib (LoadError)
Referenced from: /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin12.2.1/readline.bundle
Reason: image not found - /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin12.2.1/readline.bundle
from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/irb/completion.rb:9:in `<top (required)>'
from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/commands/console.rb:3:in `require'
from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/commands/console.rb:3:in `<top (required)>'
from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/commands.rb:38:in `require'
from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/commands.rb:38:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
Я установил readline через homebrew. Я бы хотел использовать rbenv вместо rvm.
Спасибо, что прочитали мой вопрос.
У меня была такая же проблема недавно с homebrew и libreadline.7.x.dylib/libreadline.6.x.dylib
Я решил его запустить:
ln -s /usr/local/opt/readline/lib/libreadline.7.0.dylib /usr/local/opt/readline/lib/libreadline.6.dylib
Homebrew отлично, но время от времени он не играет с некоторыми другими движущимися частями.
A brew update && brew upgrade
ввел libreadline.7.x.dylib
, автоматически удаляя libreadline.6.x.dylib
, на который по-прежнему полагался ruby.
Там могут быть более умные способы исправить проблему, но грубая сила сработала для меня:
$ rbenv uninstall 2.3.1
$ rbenv install 2.3.1
$ cd /path/to/my/app
$ bundle
Вышеприведенное предполагает наличие rbenv ruby-build
и, конечно, bundler
; замените 2.3.1
любой версией рубина, который вы используете.
Обратите внимание, что подобные проблемы могут возникать при использовании различных библиотек, управляемых доморощенным (см. мой собственный ответ на этот вопрос, например)
Я получил ту же ошибку с Ruby 2.1.0 и rails 4.0. После долгого поиска и многого, наконец, он хорошо работает:) Вот что я сделал:
rvm cleanup all
rvm autolibs enable
rvm install 2.1.0
Другие способы:
brew update
brew uninstall readline
brew install readline
Команда autolibs заставит RVM установить все зависимости, поэтому вам не нужно беспокоиться об этом.
Надеюсь, что это будет полезно.
Как намекнул Sachin, установка readline, а затем переустановка Ruby - идеальный подход, но детали немного отличаются для rbenv. Учитывая ваши пути к файлам, я предполагаю, что вы на Mac, поэтому следующее должно помочь:
brew install readline ruby-build
env CONFIGURE_OPTS=--with-readline-dir=`brew --prefix readline` rbenv install 1.9.3-p286
Это было взято из в Ruby-build Wiki и быстрый поиск в google.
Я на OSX, ruby2.3.0, rails5. Добавление gem 'rb-readline'
к моему Gemfile
исправило эту проблему.
Используя версию mac, El Captain
, можно исправить, просто сделав
rvm reinstall your_ruby_version
(например, rvm reinstall ruby-2.3.1
)
Надеюсь, это поможет, удачи!
попробуйте установить readline и переустановите ruby
взято из github user @enderahmetyurt (это единственное решение, которое сработало для меня).
Добавьте gem 'rb-readline'
в свой Gemfile в группе разработки и установки пакета.
Это самое простое решение для глупых ошибок "readline".