12

Mac OS10.7.3を搭載したRuby1.9.3のIRBで非常に奇妙な動作が発生しています。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"
=> ""

誰かがここで何が起こっているのか、またはこれを修正する方法を知っていますか?

4

4 に答える 4

6

ビクターモロスは決定的な答えを完全には与えませんでしたが、彼のリンクは私を解決策に導きました(thx!):

私は言及するのを忘れました:

私の場合、この問題を解決するために私がしたことは、再コンパイルすることでした。今回は、自作でインストールした最新バージョンのreadline(私の場合は6.2.2)をrubyに示しました。

実行した手順は次のとおりです。

$ 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はruby-buildではなくrvmでビルドされました。以前はMountainLionでHomebrewを使用して他のパッケージインストーラーを実行していましたが、その中にはReadline6.2.5などがありました。これが私にとってこの問題の原因であることがわかりました。修正方法は次のとおりです。

RVMサイトから:

readlineに関連するコンパイル中にエラーが発生した場合は、以下に定義されている手順でインストールを試みる必要がある場合があります。

$ rvm pkg install readline

$rvm再インストール1.9.2-with-readline-dir= $ rvm_path / usr

このエラーは、MacPorts、Fink、またはHomebrewがシステムにreadlineをインストールしている場合に最も頻繁に発生することに注意してください。

これが他の誰かに役立つことを願っています!

于 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 に答える