Проблемы с консолью рельсов, RVM и readline - PullRequest
52 голосов
/ 21 декабря 2010

Я установил rvm, чтобы убедиться, что моя локальная версия ruby ​​для разработки совпадает с версией моего сервера для конкретного приложения, над которым я работаю (ruby 1.8.7). Я сделал это, и установил ruby ​​1.8.7 ок. Однако, когда я пытаюсь запустить консоль rails, я получаю эту ошибку:

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

Я прочитал заметки на странице, на которые ссылается ошибка (http://rvm.beginrescueend.com/packages/readline/),, и следовал инструкциям, которые включают в себя в основном установку readline, удаление ruby ​​1.8.7, а затем повторную установку ruby ​​1.8.7 с поддержкой readline. (Фактически эта страница использует ruby ​​1.9.2 в качестве примера, но я предполагаю, что она должна работать и с 1.8.7. Возможно, это не так).

Но я все еще получаю ту же ошибку. Кто-нибудь еще прошел через это и понял это?
Благодарен за любой совет - max

РЕДАКТИРОВАТЬ - я использую Ubuntu 9.10, кстати, на случай, если это уместно.

РЕДАКТИРОВАТЬ - вот мой вывод для rvm info, как указано ниже:

$ 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 (wayneeseguin@gmail.com) [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:       ""

Ответы [ 7 ]

67 голосов
/ 23 января 2011

У меня была похожая проблема, которая была с 1.9.2 на Ubuntu 10.04, но симптомы были идентичны.Чтобы заставить его работать:

rvm pkg install readline

или до версии RVM 1.6.32, вам потребуется следующая команда

rvm package install readline

Затем:

apt-get install ncurses-dev

И затем, взяв их инструкции по адресу 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

Я фактически выполнил установку rvm системы на сервере, поэтому мне нужно было сделать следующее:

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

После этогоУ меня был полный доступ к консоли.

10 голосов
/ 10 января 2012

Запустите команду

rvm requirements

Показывает требования и зависимости.Установите их и переустановите ruby ​​на rvm

rvm remove 1.9.2
rvm install 1.9.2

Все работает!

4 голосов
/ 23 ноября 2011

Я получил ту же проблему и решил ее. Я проверяю http://rvm.beginrescueend.com/packages/readline/ Пожалуйста, проверьте следующие 2 вещи:

  1. sudo aptitude install libreadline5-dev libncurses5-dev используйте libreadline6-dev, если у вас есть новая версия.
  2. ruby extconf.rb -- --with-readline-dir='/home/youruser/.rvm/usr/include/readline' убедитесь, что у вас есть файлы readline lib в указанном вами каталоге with-readline-dir.
0 голосов
/ 24 октября 2014

У меня была эта проблема с Ruby 2.1.3.Обновление RVM и переустановка Ruby у меня сработали:

rvm get stable
rvm reinstall 2.1.3
0 голосов
/ 22 ноября 2012

Пробовал установить gem rb-readline

Все еще не работало.Так запустил irb и сделал readline.Помогло сообщение об ошибке.

    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

Так что проблема в моем случае была в libreadline * в / usr / local / lib.Я установил readline из исходного кода, и это испортило его.

Следуйте инструкциям здесь, чтобы исправить это.http://vkarthickeyan.wordpress.com/2012/02/16/mysql-symbol-lookup-error-usrlocalliblibreadline-so-6-undefined-symbol-up/

0 голосов
/ 02 октября 2012
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.

Если вы перейдете по этой ссылке , вы найдете несколько инструкций о том, как решить эту проблему.Для меня сработал первый шаг - удалить все установленные вручную пакеты:

 $ rm -rf $rvm_path/usr

, а затем

$ rvm requirements
$ rvm reinstall 1.9.3

Надеюсь, это сработает!

0 голосов
/ 21 декабря 2010

Вы пытались использовать этот учебник для установки readline от brew?

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

...