J'ai installé rvm pour m'assurer que ma version de développement local de Ruby est la même que celle de mon serveur pour une application particulière sur laquelle je travaille (Ruby 1.8.7). J'ai fait cela et installé Ruby 1.8.7 ok. Cependant, lorsque j'essaie de démarrer la console 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-compile 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 à laquelle l'erreur se réfère (http://rvm.beginrescueend.com/packages/readline/) et j'ai suivi les instructions, qui impliquent essentiellement l'installation de readline, la désinstallation de Ruby 1.8.7 , puis en réinstallant Ruby 1.8.7 avec le support readline. (en fait, cette page utilise Ruby 1.9.2 comme exemple, mais je suppose qu'elle devrait également fonctionner avec 1.8.7. Ce n'est peut-être pas le cas).
Mais, je reçois toujours la même erreur. Quelqu'un d'autre est-il passé par là et l'a 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
Ensuite:
apt-get install ncurses-dev
Et puis en suivant 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 du système rvm sur le serveur, donc je devais faire ceci:
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 accès complet à la console.
Exécutez 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 le même problème et je l'ai résolu. Je vérifie http://rvm.beginrescueend.com/packages/readline/ Veuillez vérifier deux choses:
Sudo aptitude install libreadline5-dev libncurses5-dev
utilisation libreadline6-dev
, si vous avez une nouvelle version.Ruby extconf.rb -- --with-readline-dir='/home/youruser/.rvm/usr/include/readline'
assurez-vous d'avoir les fichiers lib readline sous le répertoire with-readline que vous avez indiqué.Installation de gemme essayée rb-readline
Toujours pas fonctionné. C'est ainsi qu'a commencé irb et a fait un readline requis. 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-compile 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 `<main>'
1.9.3p327 :002 > ^[[6^[[A^[[A^[[B^C^C
Donc le problème dans mon cas était toute la libreadline * dans/usr/local/lib. J'avais installé readline à partir du code source et c'était tout foiré.
J'ai suivi les instructions ici pour le réparer. http://vkarthickeyan.wordpress.com/2012/02/16/mysql-symbol-lookup-error-usrlocalliblibreadline-so-6-undefined-symbol-up/
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-compile your Ruby with readline support after obtaining the readline libraries.
Si vous suivez cela 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, la suppression de tous les packages installés manuellement:
$ rm -rf $rvm_path/usr
puis
$ rvm requirements
$ rvm reinstall 1.9.3
Esperons que ça marche!
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
Avez-vous essayé ce didacticiel pour utiliser l'installation de readline par brassage?
http://blog.plataformatec.com.br/2010/05/accented-chars-in-irb-with-rvm-and-Ruby-1-8-7/