12

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

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

4

4 回答 4

6

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

我忘了提:

然后我为解决这个问题所做的就是重新编译,这次将 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
于 2012-05-01T07:19:14.187 回答
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 时,最常发生此错误。

希望这对其他人有帮助!

于 2012-08-03T13:27:22.193 回答
1

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

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

于 2012-04-30T15:50:47.210 回答
0

这个命令为我解决了它:

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

于 2017-01-23T09:17:16.380 回答