web-dev-qa-db-fra.com

Problèmes avec la console Rails, RVM et readline

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:       ""
52
Max Williams

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.

67
Geoff Lanotte

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!

10
Sayuj

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:

  1. Sudo aptitude install libreadline5-dev libncurses5-dev utilisation libreadline6-dev, si vous avez une nouvelle version.
  2. 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é.
4
Race

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/

0
Sudhir
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!

0
geekazoid

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
0
oli

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/

0
shingara