无法在Ruby 1.9.3 IRB中输入变音符号

我在使用Mac OS 10.7.3的Ruby 1.9.3的IRB中遇到了非常奇怪的行为当我尝试进入变音符号时,它在提示符中被转义并且看起来像这样(我在键盘上输入"ü"

 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" => "" 

有谁知道这里发生了什么或如何解决这个问题?

Victor Moroz并没有给出明确的答案,但是他的链接让我找到了解决方案(thx!):

我忘了提到:

  • 我正在运行自制软件
  • 我使用ruby-build和这个配方(1.9.3-p125-perf,带有猎鹰补丁)制作了ruby

我在我的案例中解决这个问题的方法是重新编译,这次将ruby指向我用自制软件安装的更新版本的readline(在我的情况下为6.2.2)。

它采取的步骤是:

 $ 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 

我也遇到过这个问题,但我的Ruby是用rvm而不是ruby-build构建的。 我之前也曾在Mountain Lion上使用Homebrew运行其他软件包安装程序,其中包括Readline 6.2.5或类似内容。 事实certificate,这对我来说是个问题的原因。 所以这是修复:

从RVM站点 :

如果在编译属于readline时出错,则可能需要尝试使用下面定义的过程进行安装。

$ rvm pkg安装readline

$ rvm重新安装1.9.2 –with-readline-dir = $ rvm_path / usr

请注意,在系统上安装了MacPorts,Fink或Homebrew readline时,最常出现此错误。

希望这有助于其他人!

这可能有助于http://henrik.nyh.se/2008/03/irb-readline

更新事实上在我的Mac上我对Ruby的端口版本没有任何问题,但原始Mac OS版本确实存在这个问题(从未使用过那个)。 所以最简单的方法可能就是从端口安装Ruby。

这个命令为我解决了:

 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