2012-03-24 23 views
5

Cuando quiero para ejecutar Rails 3 de la consola, que arroja el siguiente:No existe el fichero a cargar - readline (Error de carga)

$ script/rails c 
/usr/local/rvm/rubies/ruby-1.9.2-p318/lib/ruby/1.9.1/irb/completion.rb:9:in `require': no such file to load -- readline (Load Error) 

He intentado instalar libreadline-dev:

$ sudo wajig install libreadline-dev 
Leyendo lista de paquetes... Hecho 
Creando árbol de dependencias  
Leyendo la información de estado... Hecho 
Se instalarán los siguientes paquetes extras: 
    libncurses5-dev libreadline6-dev 
Se instalarán los siguientes paquetes NUEVOS: 
    libncurses5-dev libreadline-dev libreadline6-dev 
0 actualizados, 3 se instalarán, 0 para eliminar y 6 no actualizados. 
Necesito descargar 1799kB de archivos. 
Se utilizarán 7266kB de espacio de disco adicional después de esta operación. 
¿Desea continuar [S/n]? 
Des:1 http://mx.archive.ubuntu.com/ubuntu/ lucid/main libncurses5-dev 5.7+20090803-2ubuntu3 [1564kB] 
Des:2 http://mx.archive.ubuntu.com/ubuntu/ lucid/main libreadline6-dev 6.1-1 [234kB] 
Des:3 http://mx.archive.ubuntu.com/ubuntu/ lucid/main libreadline-dev 6.1-1 [904B] 
Descargados 1799kB en 3seg. (477kB/s) 
Seleccionando el paquete libncurses5-dev previamente no seleccionado. 
(Leyendo la base de datos ... 00% 
225006 ficheros y directorios instalados actualmente.) 
Desempaquetando libncurses5-dev (de .../libncurses5-dev_5.7+20090803-2ubuntu3_i386.deb) ... 
Seleccionando el paquete libreadline6-dev previamente no seleccionado. 
Desempaquetando libreadline6-dev (de .../libreadline6-dev_6.1-1_i386.deb) ... 
Seleccionando el paquete libreadline-dev previamente no seleccionado. 
Desempaquetando libreadline-dev (de .../libreadline-dev_6.1-1_i386.deb) ... 
Procesando disparadores para man-db ... 
Procesando disparadores para install-info ... 
Configurando libncurses5-dev (5.7+20090803-2ubuntu3) ... 
Configurando libreadline6-dev (6.1-1) ... 
Configurando libreadline-dev (6.1-1) ... 

Pero cuando lo intenté de nuevo, se lanza tha mismo otra vez:

$ script/rails c 
/usr/local/rvm/rubies/ruby-1.9.2-p318/lib/ruby/1.9.1/irb/completion.rb:9:in `require': no such file to load -- readline (LoadError) 
    from /usr/local/rvm/rubies/ruby-1.9.2-p318/lib/ruby/1.9.1/irb/completion.rb:9:in `<top (required)>' 
    from /usr/local/rvm/gems/ruby-1.9.2-p318/gems/railties-3.0.4/lib/rails/commands/console.rb:3:in `require' 
    from /usr/local/rvm/gems/ruby-1.9.2-p318/gems/railties-3.0.4/lib/rails/commands/console.rb:3:in `<top (required)>' 
    from /usr/local/rvm/gems/ruby-1.9.2-p318/gems/railties-3.0.4/lib/rails/commands.rb:20:in `require' 
    from /usr/local/rvm/gems/ruby-1.9.2-p318/gems/railties-3.0.4/lib/rails/commands.rb:20:in `<top (required)>' 
    from script/rails:6:in `require' 
    from script/rails:6:in `<main>' 

Entonces, trato de instalar readline usando rvm:

# rvm pkg install readline 
Fetching readline-5.2.tar.gz to /usr/local/rvm/archives 
Extracting readline-5.2.tar.gz to /usr/local/rvm/src 
Applying patch '/usr/local/rvm/patches/readline-5.2/shobj-conf.patch'... 
Configuring readline in /usr/local/rvm/src/readline-5.2. 
Compiling readline in /usr/local/rvm/src/readline-5.2. 
Installing readline to /usr/local/rvm/usr 
Fetching readline-6.2.tar.gz to /usr/local/rvm/archives 
Extracting readline-6.2.tar.gz to /usr/local/rvm/src 
Applying patch '/usr/local/rvm/patches/readline-6.2/patch-shobj-conf.diff'... 
Configuring readline in /usr/local/rvm/src/readline-6.2. 
Compiling readline in /usr/local/rvm/src/readline-6.2. 
Installing readline to /usr/local/rvm/usr 

Pero de nuevo el mismo:

$ script/rails c 
/usr/local/rvm/rubies/ruby-1.9.2-p318/lib/ruby/1.9.1/irb/completion.rb:9:in `require': no such file to load -- readline (LoadError) 
    from /usr/local/rvm/rubies/ruby-1.9.2-p318/lib/ruby/1.9.1/irb/completion.rb:9:in `<top (required)>' 
    from /usr/local/rvm/gems/ruby-1.9.2-p318/gems/railties-3.0.4/lib/rails/commands/console.rb:3:in `require' 
    from /usr/local/rvm/gems/ruby-1.9.2-p318/gems/railties-3.0.4/lib/rails/commands/console.rb:3:in `<top (required)>' 
    from /usr/local/rvm/gems/ruby-1.9.2-p318/gems/railties-3.0.4/lib/rails/commands.rb:20:in `require' 
    from /usr/local/rvm/gems/ruby-1.9.2-p318/gems/railties-3.0.4/lib/rails/commands.rb:20:in `<top (required)>' 
    from script/rails:6:in `require' 
    from script/rails:6:in `<main>' 

¿Qué más debo probar?

+0

Tenga en cuenta que no es necesario ejecutar 'wajig' con sudo, ya que lo hace automáticamente para usted cuando sea necesario. Es decir, solo ejecute 'wajig install ...'. – Tshepang

Respuesta

6

Debo verificar rvm requirements y asegurar que todos los paquetes fueron instalados. Entonces reintall rubí:

rvm reinstall 1.9.2 
Removing /usr/local/rvm/src/ruby-1.9.2-p318... 
Removing /usr/local/rvm/rubies/ruby-1.9.2-p318... 
Removing default ruby interpreter 
Removing ruby-1.9.2-p318 aliases... 
Removing ruby-1.9.2-p318 wrappers... 
Removing ruby-1.9.2-p318 environments... 
Removing ruby-1.9.2-p318 binaries... 
Installing Ruby from source to: /usr/local/rvm/rubies/ruby-1.9.2-p318, this may take a while depending on your cpu(s)... 
ruby-1.9.2-p318 - #fetching 
ruby-1.9.2-p318 - #extracting ruby-1.9.2-p318 to /usr/local/rvm/src/ruby-1.9.2-p318 
ruby-1.9.2-p318 - #extracted to /usr/local/rvm/src/ruby-1.9.2-p318 
ruby-1.9.2-p318 - #configuring 
ruby-1.9.2-p318 - #compiling 
ruby-1.9.2-p318 - #installing 
Removing old Rubygems files... 
Installing rubygems-1.8.18 for ruby-1.9.2-p318 ... 
Installation of rubygems completed successfully. 
ruby-1.9.2-p318 - adjusting #shebangs for (gem irb erb ri rdoc testrb rake). 
ruby-1.9.2-p318 - #importing default gemsets (/usr/local/rvm/gemsets/) 
Install of ruby-1.9.2-p318 - #complete 

Y finalmente funciona:

$ script/rails c 
DEPRECATION WARNING: railtie_name is deprecated and has no effect. (called from <top (required)> at /home/israel/proyectos/d-Formacion/config/application.rb:7) 
/usr/local/rvm/gems/ruby-1.9.2-p318/gems/actionpack-3.0.4/lib/action_dispatch/http/mime_type.rb:98: warning: already initialized constant PDF 
Loading development environment (Rails 3.0.4) 
1.9.2-p318 :001 > exit 
5

La solución es la combinación de los dos pasos:

  1. Instalar libreadline-dev por ejemplo, en una Ubuntu hacer:

    sudo apt-get install libreadline-dev 
    
  2. Reinstalar Rubí

    rvm install 1.9.2 
    

Entonces rubí se compilará usando libreadline.

6

reinstalar ruby ​​es un poco exagerado, puede seguir las instrucciones en esta publicación de blog.

http://vvv.tobiassjosten.net/ruby-on-rails/fixing-readline-for-the-ruby-on-rails-console

instalan libreadline5 y libncurses5

$ sudo aptitude install libreadline5-dev libncurses5-dev 

luego recompilar y reinstalar la línea roja

cd ~/.rvm/src/ruby-1.9.2-p180/ext/readline 
ruby extconf.rb 
make 
make install 
+0

Esto funcionó como un encanto. ¡No es necesario volver a instalar Ruby! Gracias :) – Josh

Cuestiones relacionadas