2009-12-14 20 views
34

No consigo que el intérprete de Ruby se ejecute en cualquiera de mis Mac (una MacBook y una MacBook Pro, ambas ejecutan Snow Leopard). Cuando lo ejecuto, escribiendo ruby en Terminal, no ocurre nada. Simplemente se sienta allí. Puedo matarlo presionando Ctrl+C, pero eso es todo. Sé que el proceso de Ruby se está ejecutando, ya que puedo verlo en el Monitor de actividad, y ejecutar ruby --version funciona bien.El comando "ruby" no hace nada en mi Mac

He intentado lo siguiente, todo fue en vano:

  1. que tienen algunas personalizaciones de bash, por lo que trataron de desactivarlas, pero eso no ayuda.
  2. Instalé una nueva copia de Ruby 1.8.7 usando MacPorts, pero ese tenía el mismo problema.
  3. Intenté salir y reiniciar la aplicación Terminal.

alguna otra información que pueda ser útil:

  • Estoy tratando de ejecutar la versión de Ruby que viene con Snow Leopard.
  • He instalado las herramientas de desarrollador de Apple.
  • Otros intérpretes (Python, Io, etc.) funcionan bien.

Pasé un rato esta noche buscando este problema en línea, pero no he encontrado ninguna discusión al respecto. Estoy perdido por lo que podría estar causando, por lo que cualquier ayuda que alguien pueda proporcionar sería muy apreciada.

Respuesta

70

comando de Rubí en sí se acaba de comportarse de la manera que ha dicho, ya sea dotarla de archivo de script o utilizar la opción -e:

ruby -e ' puts "hello world" '

Sin embargo, sospecho que desea que el IRB (rubí interactiva). Ejecute irb en su caparazón.

+4

Ugh, gracias. Me olvidé completamente que irb era un comando separado. –

9

¿Qué estás tratando de hacer, exactamente? El comando ruby espera la entrada, en la mayoría de los casos, un archivo que contiene el código de Ruby que desea que se ejecute. En ese caso, se tiene que especificar el nombre del archivo:

> ruby my_ruby_file.rb 

Si por el contrario desea ejecutar la interactive Ruby shell, es decir, la consola REPL que puede escribir código Ruby en y tienen que ejecuta cada vez que se pulsa enter, el comando que desea es irb.

Cuestiones relacionadas