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

Jan*_*Jan 12 ruby macos encoding irb utf-8

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

irb(main):001:0> "\U+FFC3\U+FFBC"
Run Code Online (Sandbox Code Playgroud)

这有点奇怪:

irb(main):001:0> "\U+FFC3\U+FFBC".length
=> 0
Run Code Online (Sandbox Code Playgroud)

当然,角色也不会显示:

irb(main):001:0> "\U+FFC3\U+FFBC"
=> ""
Run Code Online (Sandbox Code Playgroud)

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

Jan*_*Jan 6

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

我忘了提到:

在我的情况下,我接着解决这个问题的方法是重新编译,这次将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
Run Code Online (Sandbox Code Playgroud)

  • Fwiw,一个更简单的命令显示在https://github.com/guard/guard/wiki/Add-proper-Readline-support-to-Ruby-on-Mac-OS-X:CONFIGURE_OPTS = - with-readline- dir =`brew --prefix readline` rbenv install 1.9.3-p327 (2认同)

Aar*_*egh 5

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

RVM站点:

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

$ rvm pkg安装readline

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

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

希望这有助于其他人!