ruby on rails - software - No se puede ejecutar "consola de rieles" debido a un error con readline
ruby on rails website (8)
No puedo ejecutar la rails console
debido a este error:
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>''
He instalado readline a través de homebrew. Me gustaría seguir usando rbenv en lugar de rvm.
Gracias por leer mi pregunta.
intenta instalar readline y vuelve a instalar tu ruby
Como insinuó Sachin, la instalación de readline y la reinstalación de ruby es el enfoque ideal, pero los detalles son un poco diferentes para rbenv. Dadas sus rutas de archivos, supongo que está en una Mac, por lo que lo siguiente debería ayudar:
brew install readline ruby-build
env CONFIGURE_OPTS=--with-readline-dir=`brew --prefix readline` rbenv install 1.9.3-p286
Esto fue tomado de la Wiki de Ruby-build y de una búsqueda rápida en Google.
Estoy en OSX, ruby2.3.0, rails5. Agregar gem ''rb-readline''
a mi Gemfile
solucionó este problema.
Homebrew es genial, pero de vez en cuando no funciona bien con algunas de las otras partes móviles.
Una brew update && brew upgrade
trajo a libreadline.7.x.dylib
mientras elimina automáticamente libreadline.6.x.dylib
, ruby en el que todavía confiaba.
Puede haber formas más inteligentes de solucionar el problema, pero la fuerza bruta funcionó para mí:
$ rbenv uninstall 2.3.1
$ rbenv install 2.3.1
$ cd /path/to/my/app
$ bundle
Lo anterior supone la presencia de Rubben ruby-build
de rbenv y, por supuesto, bundler
; reemplace 2.3.1
con la versión de ruby que esté usando.
Tenga en cuenta que pueden ocurrir problemas similares con diferentes bibliotecas de homebrew-managed ( vea mi propia respuesta a esto, por ejemplo )
Recientemente tuve el mismo problema con homebrew y libreadline.7.x.dylib / libreadline.6.x.dylib
Lo resolví ejecutando:
ln -s /usr/local/opt/readline/lib/libreadline.7.0.dylib /usr/local/opt/readline/lib/libreadline.6.dylib
Tengo el mismo error con Ruby 2.1.0 y Rails 4.0. Después de buscar e intentar mucho, finalmente funciona bien :) Esto es lo que hice:
rvm cleanup all
rvm autolibs enable
rvm install 2.1.0
Las otras formas:
brew update
brew uninstall readline
brew install readline
El comando autolibs obligará a RVM a instalar todas las dependencias, por lo que no tendrá que preocuparse por ello.
Espero que sea útil.
Usando mac, versión de El Captain
, es posible arreglar solo haciendo
rvm reinstall your_ruby_version
(como rvm reinstall ruby-2.3.1
)
Espero que esto ayude, buena suerte!
tomado del usuario de github @enderahmetyurt (esta es la única solución que funcionó para mí).
Solución: agregue gem ''rb-readline''
a su Gemfile en el grupo de desarrollo y la instalación del paquete .
Es la solución más fácil para los errores tontos de "línea de lectura".