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



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

Благодарен за любые советы - Макс



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



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: ""
678   7  

7 ответов:

у меня была похожая проблема именно с 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

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

выполнить команду

rvm requirements

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

rvm remove 1.9.2
rvm install 1.9.2

это работает!

я получил ту же проблему и решить ее. Я проверяю 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' убедитесь, что у вас есть файлы lib readline под указанным вами параметром with-readline-dir.

вы пробовали этот учебник, чтобы использовать readline install by 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-compile your ruby with readline support after obtaining the readline libraries.

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

 $ rm -rf $rvm_path/usr

а то

$ rvm requirements
$ rvm reinstall 1.9.3

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

попытался gem install rb-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/

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

rvm get stable
rvm reinstall 2.1.3

Comments

    Ничего не найдено.