Problèmes avec la console de rails, RVM et readline

J’ai installé rvm pour m’assurer que ma version de développement local de ruby ​​est identique à celle de mon serveur pour une application particulière sur laquelle je travaille (ruby 1.8.7). Je l’ai fait et j’ai installé ruby ​​1.8.7 ok. Cependant, lorsque j’essaie de démarrer la console de rails, j’obtiens cette erreur:

Readline was unable to be required, if you need completion or history install readline then reinstall the ruby. You may follow 'rvm notes' for dependencies and/or read the docs page http://rvm.beginrescueend.com/packages/readline/ . Be sure you 'rvm remove X ; rvm install X' to re-comstack your ruby with readline support after obtaining the readline libraries. Couldn't load Wirble: no such file to load -- wirble 

J’ai lu les notes sur la page auxquelles cette erreur fait référence (http://rvm.beginrescueend.com/packages/readline/), et suivi les instructions, qui consistent essentiellement à installer readline, à désinstaller ruby ​​1.8.7, puis à installer ruby 1.8.7 à nouveau avec le support readline. (en fait, cette page utilise l’exemple de ruby ​​1.9.2, mais je suppose qu’elle devrait également fonctionner avec 1.8.7. Peut-être que ce n’est pas le cas).

Mais, j’ai toujours la même erreur. Quelqu’un a-t-il déjà vécu cela et compris?
Reconnaissant pour tout conseil – max

EDIT – J’utilise Ubuntu 9.10 btw au cas où cela serait pertinent.

EDIT – voici ma sortie pour rvm info comme demandé ci-dessous:

 $ rvm info system: system: uname: "Linux max-laptop 2.6.31-22-generic #68-Ubuntu SMP Tue Oct 26 16:38:35 UTC 2010 i686 GNU/Linux" bash: "/bin/bash => GNU bash, version 4.0.33(1)-release (i486-pc-linux-gnu)" zsh: " => not installed" rvm: version: "rvm 1.1.6 by Wayne E. Seguin ([email protected]) [http://rvm.beginrescueend.com/]" homes: gem: "not set" ruby: "not set" binaries: ruby: "/usr/bin/ruby" irb: "/usr/bin/irb" gem: "/usr/bin/gem" rake: "/usr/bin/rake" environment: PATH: "/home/max/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/var/lib/gems/1.8/bin:/home/max/software/svnmerge:/home/max/.gem/ruby/1.8/bin:/home/max/work/e_learning_resource/trunk/public/assets/dvd_files/bin:/opt/firefox:/home/max/.rvm/bin:/home/max/.rvm/bin" GEM_HOME: "" GEM_PATH: "" MY_RUBY_HOME: "" IRBRC: "" RUBYOPT: "" gemset: "" 

J’ai eu un problème similaire avec 1.9.2 sur Ubuntu 10.04, mais les symptômes étaient identiques. Pour le faire fonctionner:

 rvm pkg install readline 

ou avant la version 1.6.32 de RVM, vous avez besoin de la commande suivante

 rvm package install readline 

Alors:

 apt-get install ncurses-dev 

Et puis en prenant de leurs instructions à http://rvm.beginrescueend.com/packages/readline/

 cd $HOME/.rvm/src/ruby-1.9.2-p0/ext/readline ruby extconf.rb -- --with-readline-dir="$HOME/.rvm/usr" make install 

J’avais en fait fait une installation système rvm sur le serveur, donc je devais le faire:

 cd $HOME/.rvm/src/ruby-1.9.2-p0/ext/readline ruby extconf.rb -- --with-readline-dir="/usr/local/rvm/usr" make install 

Après cela, j’ai pu avoir un access complet à la console.

Exécuter la commande

 rvm requirements 

Il montre les exigences et les dépendances. Installez-les et réinstallez le ruby ​​sur rvm

 rvm remove 1.9.2 rvm install 1.9.2 

Ça marche!

J’ai eu le même problème et l’ai résolu. Je vérifie http://rvm.beginrescueend.com/packages/readline/ Merci de vérifier 2 choses:

  1. sudo aptitude install libreadline5-dev libncurses5-dev utilise libreadline6-dev , si vous avez une nouvelle version.
  2. ruby extconf.rb -- --with-readline-dir='/home/youruser/.rvm/usr/include/readline' assurez-vous que vous avez les fichiers readline lib sous le répertoire-readline-dir que vous avez pointé.

Avez-vous essayé ce tutoriel pour utiliser l’installation readline par brew?

http://blog.plataformatec.com.br/2010/05/accented-chars-in-irb-with-rvm-and-ruby-1-8-7/

 Readline was unable to be required, if you need completion or history install readline then reinstall the ruby. You may follow 'rvm notes' for dependencies and/or read the docs page https://rvm.io/packages/readline/ . Be sure you 'rvm remove X ; rvm install X' to re-comstack your ruby with readline support after obtaining the readline libraries. 

Si vous suivez ce lien , vous trouverez des instructions sur la façon de résoudre ce problème. Ce qui a fonctionné pour moi a été la première étape, en supprimant tous les paquets installés manuellement:

  $ rm -rf $rvm_path/usr 

et alors

 $ rvm requirements $ rvm reinstall 1.9.3 

Esperons que ça marche!

Essayé gem installer rb-readline

Toujours pas travaillé. Ainsi a commencé l’irb et a fait un readline requirejs. Le message d’erreur a aidé.

  Readline was unable to be required, if you need completion or history install readline then reinstall the ruby. You may follow 'rvm notes' for dependencies and/or read the docs page https://rvm.io/packages/readline/ . Be sure you 'rvm remove X ; rvm install X' to re-comstack your ruby with readline support after obtaining the readline libraries. 1.9.3p327 :001 > require 'readline' LoadError: /usr/local/lib/libreadline.so.6: undefined symbol: UP - /home/sudhir/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/site_ruby/1.9.1/x86_64-linux/readline.so from /home/sudhir/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from /home/sudhir/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from (irb):1 from /home/sudhir/.rvm/rubies/ruby-1.9.3-p327/bin/irb:16:in `
' 1.9.3p327 :002 > ^[[6^[[A^[[A^[[B^C^C

Donc, le problème dans mon cas était tout libreadline * dans / usr / local / lib. J’avais installé readline à partir du code source et ça se gâtait.

Suivez les instructions ici pour le réparer. http://vkarthickeyan.wordpress.com/2012/02/16/mysql-symbol-lookup-error-usrlocalliblibreadline-so-6-undefined-symbol-up/

J’ai eu ce problème avec Ruby 2.1.3. Mettre à niveau RVM puis réinstaller Ruby a fonctionné pour moi:

 rvm get stable rvm reinstall 2.1.3