Can't enter Umlauts in Ruby 1.9.3 IRB

♀尐吖头ヾ 提交于 2019-12-18 13:09:50

问题


I am experiencing very strange behavior in Ruby 1.9.3's IRB with Mac OS 10.7.3 When I try to enter an Umlaut, it's escaped in the prompt and looks like this (I entered "ü" on the keyboard)

irb(main):001:0> "\U+FFC3\U+FFBC"

What's super strange is this:

irb(main):001:0> "\U+FFC3\U+FFBC".length
=> 0

Of course, the character isn't displayed either:

irb(main):001:0> "\U+FFC3\U+FFBC"
=> ""

Does anyone know what's going on here or how to fix this?


回答1:


Victor Moroz didn't quite give the definitive answer but his link led me to a solution (thx!):

I forgot to mention:

  • Im running homebrew
  • I built ruby using ruby-build and this recipe (1.9.3-p125-perf, with falcon patches)

What I then did to solve this problem in my case was to recompile, this time pointing ruby to a more recent version of readline (6.2.2 in my case) that I installed with homebrew.

The steps it took were:

$ 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:


I ran across this problem as well, but my Ruby was built with rvm rather than ruby-build. I'd also previously used Homebrew on Mountain Lion to run other package installers, and among them got Readline 6.2.5 or something like that. This turns out to be the cause of this issue for me. So here's the fix:

From the RVM site:

If you have an error when compiling pertaining to readline, you may need to attempt installing with the procedure defined below.

$ rvm pkg install readline

$ rvm reinstall 1.9.2 --with-readline-dir=$rvm_path/usr

Note that this error occurs most often when having a MacPorts, Fink, or Homebrew installed readline on your system.

Hope this helps someone else!




回答3:


This may help http://henrik.nyh.se/2008/03/irb-readline

UPDATE In fact on my Mac I have no problem with port version of Ruby, but original Mac OS version does have this problem (never used that one). So the easiest way is probably just to install Ruby from ports.




回答4:


this command solved it for me:

brew install readline
RUBY_CONFIGURE_OPTS=--with-readline-dir="$(brew --prefix readline)" rbenv install 1.9.3-p286

source: https://github.com/rbenv/ruby-build/wiki



来源:https://stackoverflow.com/questions/10385944/cant-enter-umlauts-in-ruby-1-9-3-irb

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!