Проблемы с консолью 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: ""
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 вещи:
sudo aptitude install libreadline5-dev libncurses5-devиспользоватьlibreadline6-dev, если у вас новая версия.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