2012-04-30 17 views
12

Experimento un comportamiento muy extraño en el IRB de Ruby 1.9.3 con Mac OS 10.7.3 Cuando intento ingresar un Umlaut, se escapa en el indicador y se ve así (entré "ü" en el teclado)No puedo ingresar las diéresis en Ruby 1.9.3 IRB

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

lo que es muy extraño es esto:

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

por supuesto, no se muestra el carácter, ya sea:

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

¿Alguien sabe lo que está pasando aquí o cómo solucionarlo?

+0

¿Cuál es la salida de '' puts __ENCODING__' –

+0

IRB (principal): 001: 0> __ENCODING__ => # < Codificación: UTF-8> ' – Jan

Respuesta

6

Victor Moroz no acababa de dar la respuesta definitiva pero su enlace me llevó a una solución (gracias!):

me olvidó mencionar:

Lo que hice entonces para resolver este problema en mi caso fue recompilar, esta vez apuntando a un rubí versio más reciente n de readline (6.2.2 en mi caso) que instalé con homebrew.

Las medidas que tomó fueron:

$ 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

Fwiw, se muestra un comando más simple en 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 – Turadg

1

Esto puede ayudar a http://henrik.nyh.se/2008/03/irb-readline

ACTUALIZACIÓN De hecho en mi Mac no tengo ningún problema con la versión de puerto de Ruby, pero la versión original de Mac OS tiene este problema (nunca usado que uno). Entonces, la forma más fácil es simplemente instalar Ruby desde los puertos.

+0

Lo siento, olvidé mencionar, instalé ese rubí usando ruby-build. – Jan

5

me encontré con este problema también, pero mi Rubí fue construido con RVM en lugar de rubí de construcción. Anteriormente había usado Homebrew en Mountain Lion para ejecutar otros instaladores de paquetes, y entre ellos obtuve Readline 6.2.5 o algo así. Esto resulta ser la causa de este problema para mí. Así que aquí está la solución:

De the RVM site:

Si usted tiene un error al compilar perteneciente a readline, puede que tenga que intentar la instalación con el procedimiento definido más adelante.

$ RVM paquete instalar readline

$ RVM reinstalar 1.9.2 --with-readline-dir = $ rvm_path/usr

Tenga en cuenta que este error se produce con mayor frecuencia cuando se tiene un MacPorts, Fink, o Homebrew instaló readline en su sistema.

Espero que esto ayude a alguien más!

+0

muy útil. Gracias – Dimitris

+0

Bueno - funcionó con 1.9.3 p327 y el parche Falcon: reinstalar rvm ruby-1.9.3-p327-turbo --with-readline-dir = $ rvm_path/usr –

Cuestiones relacionadas