2014-04-07 18 views
9

ho alcune errori nel mio Rails app e sto cercando di avviare la console Rails emettendo seguente comando:Rails console: in `require ': non può caricare tale file - readline (LoadError)

rails console 

Non importa quello che provo, sto ottenendo sempre lo stesso errore:

/usr/local/rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/irb/completion.rb:9:in `require': cannot load such file -- readline (LoadError) 
    from /usr/local/rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/irb/completion.rb:9:in `<top (required)>' 
    from /opt/mammie/web/icosole/vendor/bundle/ruby/2.1.0/gems/railties-3.1.3/lib/rails/commands/console.rb:3:in `require' 
    from /opt/mammie/web/icosole/vendor/bundle/ruby/2.1.0/gems/railties-3.1.3/lib/rails/commands/console.rb:3:in `<top (required)>' 
    from /opt/mammie/web/icosole/vendor/bundle/ruby/2.1.0/gems/railties-3.1.3/lib/rails/commands.rb:37:in `require' 
    from /opt/mammie/web/icosole/vendor/bundle/ruby/2.1.0/gems/railties-3.1.3/lib/rails/commands.rb:37:in `<top (required)>' 
    from script/rails:6:in `require' 
    from script/rails:6:in `<main>' 

ho davvero provato ogni possibile soluzione che ho trovato in rete, come molte persone incontrano lo stesso errore. Sfortunatamente, niente sembra funzionare. Quando provo il seguente comando:

ruby /usr/local/rvm/src/ruby-2.1.1/ext/readline/extconf.rb 

ottengo seguente output

checking for tgetnum() in -lncurses... yes 
checking for readline/readline.h... yes 
checking for readline/history.h... yes 
checking for readline() in -lreadline... no 
checking for readline() in -ledit... no 
checking for editline/readline.h... no 
*** /usr/local/rvm/src/ruby-2.1.1/ext/readline/extconf.rb failed *** 

Indicando che manca qualcosa, ma l'installazione di readline con apt-get non fare la differenza sia. Immagino che potrebbe avere qualcosa a che fare con le versioni gem incompatibili, come la console ha funzionato brevemente qualche tempo fa. Esistono problemi di versione noti con readline? Molte persone sembrano aver riscontrato problemi con questa gemma.

+0

ho davvero trovato la pagina seguente utili: https: // GitHub.com/guard/guard/wiki/Aggiungi-Readline-support-to-Ruby-on-Mac-OS-X # usando-rvm-and-homebrew Ho avuto problemi con readline e irb, oltre alla console di rails. Per me, ho seguito la sezione homebrew. – Brian

risposta

1

Ho avuto questo problema un po 'indietro, risolto digitando: rvm requirements e l'installazione di ciò che è tornato. Sembrava, anche se questa era una versione precedente di rvm, quindi potrebbe non essere più rilevante

4

Ho finalmente trovato una soluzione. Era una combinazione di diversi problemi (versioni gem, librerie readline in conflitto).

In primo luogo, ho refetched il readline lib

sudo apt-get install libreadline-dev 

Poi ho disinstallato rubino

rvm remove 2.1.1 

ho installato di nuovo rubino

rvm install 2.1.1 

ho detto RVM usare quello di default (2.1. 1) Ruby

rvm use default 

ho reinstallato Rails e readline

gem install rails 
gem install readline 

ho ottenuto un errore di nuovo il lancio della console, ma un po 'diverso:

/usr/local/rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/irb/completion.rb:9:in `require': /usr/local/lib/libreadline.so.6: undefined symbol: UP - /usr/local/rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/x86_64-linux/readline.so (LoadError) 
    from /usr/local/rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/irb/completion.rb:9:in `<top (required)>' 
    from /opt/mammie/web/icosole/vendor/bundle/ruby/2.1.0/gems/railties-3.1.3/lib/rails/commands/console.rb:3:in `require' 
    from /opt/mammie/web/icosole/vendor/bundle/ruby/2.1.0/gems/railties-3.1.3/lib/rails/commands/console.rb:3:in `<top (required)>' 
    from /opt/mammie/web/icosole/vendor/bundle/ruby/2.1.0/gems/railties-3.1.3/lib/rails/commands.rb:37:in `require' 
    from /opt/mammie/web/icosole/vendor/bundle/ruby/2.1.0/gems/railties-3.1.3/lib/rails/commands.rb:37:in `<top (required)>' 
    from script/rails:6:in `require' 
    from script/rails:6:in `<main>' 

Così seguendo queste istruzioni (http://vkarthickeyan.wordpress.com/2012/02/16/mysql-symbol-lookup-error-usrlocalliblibreadline-so-6-undefined-symbol-up/), ho capito a lavoro:

cd /usr/local/lib 
mkdir temp 
mv libreadline* temp 
ldconfig 
apt-get update 

Grazie a hunterboerner per l'aiuto!

+2

'gem install readline' dovrebbe essere' gem install rb-readline' – aqingsao

1

Questo ha funzionato bene su una macchina di Solaris che non aveva readline, potrebbe funzionare per voi:

$ bundle exec irb 
irb(main):001:0> require File.expand_path('config/boot') 
=> true 
irb(main):002:0> require File.expand_path('config/environment') 
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01. 
Gem.source_index called from /export/home/deploy/recon/shared/bundle/ruby/1.8/gems/rails-2.3.18/lib/rails/gem_dependency.rb:21. 
Warning: NLS_LANG is not set. fallback to US7ASCII. 
=> true 
irb(main):027:0> require 'console_app' 
=> true 
Problemi correlati