Подтвердить что ты не робот

Проблемы с консолью рельсов, RVM и readline

Я установил rvm как способ убедиться, что моя локальная версия разработки ruby ​​совпадает с моим сервером для конкретного приложения, над которым я работаю (ruby 1.8.7). Я сделал это и установил ruby ​​1.8.7 ok. Однако, когда я пытаюсь запустить консоль 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, затем снова установите рубин 1.8.7 с поддержкой readline. (на самом деле эта страница использует ruby ​​1.9.2 в качестве примера, но я предполагаю, что она также должна работать с 1.8.7. Возможно, это не так).

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

EDIT - я использую Ubuntu 9.10 битв в случае, если это релевантно.

EDIT - здесь мой вывод для 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 ([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:       ""
4b9b3361

Ответ 1

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

rvm pkg install readline

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

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 install на сервере, поэтому мне нужно было сделать это:

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

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

Ответ 2

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

rvm requirements

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

rvm remove 1.9.2
rvm install 1.9.2

Это работает!

Ответ 3

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

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

Ответ 5

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

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

Ответ 6

Пробовал   gem install 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/

Ответ 7

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

rvm get stable
rvm reinstall 2.1.3