Não consigo executar rails console
devido a este erro:
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>'
Instalei o readline via homebrew. Eu gostaria de continuar usando o rbenv em vez do rvm.
Obrigado por ler minha pergunta.
Respostas:
Tive o mesmo problema recentemente com o homebrew e libreadline.7.x.dylib / libreadline.6.x.dylib
Resolvi executando:
fonte: https://github.com/rails/rails/issues/26658
fonte
Homebrew é ótimo, mas de vez em quando não combina bem com algumas das outras partes móveis.
A
brew update && brew upgrade
trouxelibreadline.7.x.dylib
enquanto remove automaticamentelibreadline.6.x.dylib
, que ruby ainda estava contando.Pode haver maneiras mais inteligentes de resolver o problema, mas a força bruta funcionou para mim:
O acima pressupõe a presença de rbenv's
ruby-build
e, clarobundler
,; substitua2.3.1
por qualquer versão de ruby que você esteja usando.Observe que problemas semelhantes podem ocorrer com diferentes bibliotecas gerenciadas por homebrew ( veja minha própria resposta para isso, por exemplo )
fonte
gem install bundler
após a instalação do rbenv.brew update && brew upgrade
novamente?brew upgrade
substitui QUALQUER biblioteca mais antiga por uma versão mais recente, há ALGUMAS chances de outros programas em seu sistema reclamarem.Estou no OSX, ruby2.3.0, rails5. Adicionar
gem 'rb-readline'
ao meuGemfile
corrigiu este problema.fonte
Eu obtive o mesmo erro com Ruby 2.1.0 e rails 4.0. Depois de pesquisar e tentar muito, finalmente funcionou bem :) Aqui está o que eu fiz:
As outras formas:
O comando autolibs forçará o RVM a instalar todas as dependências, então você não precisa se preocupar com isso.
Espero que seja útil.
fonte
cleanup rvm
. apenasreinstall
a versão ruby.Como Sachin sugeriu, instalar o readline e então reinstalar o ruby é a abordagem ideal - mas os detalhes são um pouco diferentes para o rbenv. Dados os caminhos dos seus arquivos, suponho que você esteja em um Mac, então o seguinte deve ajudar:
Isso foi retirado do Wiki desenvolvido em ruby e de uma rápida pesquisa no Google.
fonte
bundle install
me mostrou muitos avisos como “Ignorando bcrypt-3.1.11 porque suas extensões não são construídas”. Conforme sugerido nas respostas a esta pergunta ,gem pristine --all
corrigiu todos os erros de uma vez.Usando mac,
El Captain
version, é possível consertar apenas fazendo(como
rvm reinstall ruby-2.3.1
)Espero que isso ajude, boa sorte!
fonte
rvm reinstall $(rvm current)
retirado do usuário do github @enderahmetyurt (esta é a única solução que funcionou para mim).
Solução: Adicione
gem 'rb-readline'
ao seu Gemfile no grupo de desenvolvimento e instale o pacote .É a solução mais fácil para erros bobos de "readline".
fonte
fonte