Я не могу выполнить 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.
Спасибо, что прочитали мой вопрос.
ruby-on-rails
ruby
ruby-on-rails-3
homebrew
rbenv
волшебник
источник
источник
Ответы:
Недавно у меня была такая же проблема с 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
источник: https://github.com/rails/rails/issues/26658
источник
Homebrew - это здорово, но время от времени он плохо сочетается с другими движущимися частями.
brew update && brew upgrade
Принес вlibreadline.7.x.dylib
то время автоматического удаленияlibreadline.6.x.dylib
, что рубин еще полагается на.Могут быть более умные способы решить проблему, но у меня сработала грубая сила:
$ rbenv uninstall 2.3.1 $ rbenv install 2.3.1 $ cd /path/to/my/app $ bundle
Выше предполагает наличие rbenv - х
ruby-build
и, конечно же ,bundler
; замените2.3.1
на ту версию Ruby, которую вы используете.Обратите внимание, что аналогичные проблемы могут возникать с разными библиотеками, управляемыми домашним пивом ( см. Мой собственный ответ на этот вопрос, например )
источник
gem install bundler
после установки rbenv.brew update && brew upgrade
повторном запуске ?brew upgrade
заменяет ЛЮБУЮ старую библиотеку более новой версией, есть НЕКОТОРЫЕ шансы, что другие программы в вашей системе будут жаловаться.Я использую OSX, ruby2.3.0, rails5. Добавление
gem 'rb-readline'
к моейGemfile
исправленной этой проблеме.источник
У меня такая же ошибка с Ruby 2.1.0 и rails 4.0. После долгих поисков и попыток, наконец, все получилось :) Вот что я сделал:
rvm cleanup all rvm autolibs enable rvm install 2.1.0
Другие способы:
Команда autolibs заставит RVM установить все зависимости, поэтому вам не нужно об этом беспокоиться.
Надеюсь, это поможет.
источник
cleanup rvm
. простоreinstall
рубиновая версия.Как намекнул Сачин, установка 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 и из быстрого поиска в Google.
источник
bundle install
показало мне множество предупреждений, таких как «Игнорирование bcrypt-3.1.11, потому что его расширения не построены». Как было предложено в ответах на этот вопрос ,gem pristine --all
исправил все эти ошибки сразу.Используя mac,
El Captain
версию, можно исправить, просто выполнив(подобно
rvm reinstall ruby-2.3.1
)Надеюсь это поможет. Удачи!
источник
rvm reinstall $(rvm current)
взято у пользователя github @enderahmetyurt (это единственное решение, которое сработало для меня).
Решение: добавьте
gem 'rb-readline'
в свой Gemfile в группе разработчиков и установите пакет .Это самое простое решение для глупых ошибок чтения строки.
источник
источник