Не удается войти в Umlauts в Ruby 1.9.3 IRB
У меня очень странное поведение в Ruby 1.9.3 IRB с Mac OS 10.7.3
Когда я пытаюсь ввести Umlaut, он бежит в приглашении и выглядит следующим образом (я ввел "ü"
на клавиатуре)
irb(main):001:0> "\U+FFC3\U+FFBC"
Что супер странно:
irb(main):001:0> "\U+FFC3\U+FFBC".length
=> 0
Конечно, символ также не отображается:
irb(main):001:0> "\U+FFC3\U+FFBC"
=> ""
Кто-нибудь знает, что здесь происходит или как это исправить?
Ответы
Ответ 1
Виктор Мороз не дал окончательного ответа, но его связь привела меня к решению (спасибо!):
Я забыл упомянуть:
То, что я тогда сделал для решения этой проблемы, в моем случае состояло в том, чтобы перекомпилировать, на этот раз указав ruby на более новую версию readline (6.2.2 в моем случае), которую я установил с homebrew.
Для этого потребовались следующие шаги:
$ brew install readline
$ export CPPFLAGS=-I/usr/local/Cellar/readline/6.2.2/include
$ export LDFLAGS=-L/usr/local/Cellar/readline/6.2.2/lib/
$ curl https://raw.github.com/gist/1688857/rbenv.sh | sh && rbenv global 1.9.3-p125-perf
Ответ 2
Я столкнулся с этой проблемой, но мой Ruby был построен с rvm, а не с ruby-build. Я также ранее использовал Homebrew в Mountain Lion для запуска других инсталляторов пакетов, и среди них был Readline 6.2.5 или что-то в этом роде. Это, оказывается, является причиной этой проблемы для меня. Итак, здесь исправление:
От сайт RVM:
Если у вас возникла ошибка при компиляции, относящейся к readline, вам может потребоваться выполнить установку с помощью процедуры, описанной ниже.
$rvm pkg install readline
$rvm переустановить 1.9.2 --with-readline-dir = $rvm_path/usr
Обратите внимание, что эта ошибка встречается чаще всего при использовании MacPorts, Fink или Homebrew для чтения в вашей системе.
Надеюсь, это поможет кому-то еще!
Ответ 3
Это может помочь http://henrik.nyh.se/2008/03/irb-readline
ОБНОВЛЕНИЕ На самом деле на моем Mac у меня нет проблем с портовой версией Ruby, но исходная версия Mac OS имеет эту проблему (никогда не использовала ее). Поэтому самый простой способ - это просто установить Ruby из портов.
Ответ 4
эта команда разрешила это для меня:
brew install readline
RUBY_CONFIGURE_OPTS=--with-readline-dir="$(brew --prefix readline)" rbenv install 1.9.3-p286
источник: https://github.com/rbenv/ruby-build/wiki