¿Cómo actualizar Ruby a 1.9.x en Mac?

107

He creado una nueva cuenta de usuario en mi mac y estoy intentando actualizar a la versión actual de ruby ​​(1.9.2) desde el valor predeterminado de Snow Leopard de 1.8.7. ¿Alguien puede indicarme un tutorial o explicarme el mejor método para actualizar Ruby en mi mac de 1.8 a 1.9.2? Gracias

agentbanks217
fuente

Respuestas:

66

Haré una fuerte sugerencia para rvm .

Es una excelente manera de administrar múltiples conjuntos de gemas y rubíes sin chocar con la versión del sistema.


Agregaré eso ahora (4/2/2013), uso mucho rbenv , porque mis necesidades son simples. RVM es genial, pero tiene mucha capacidad que nunca necesito, así que lo tengo en algunas máquinas y rbenv en mi computadora de escritorio y portátil. Vale la pena revisar ambos y ver cuál funciona mejor para sus necesidades.

el hombre de hojalata
fuente
Convenido. E incluso si varias versiones no son un problema (¡ja!), Rvm es excelente para descubrir qué bibliotecas nativas faltan. Bastante indispensable.
Isaac Rabinovitch
198

Como sugiere The Tin Man (arriba), RVM ( Ruby Version Manager ) es el estándar para actualizar su instalación de Ruby en OSX: https://rvm.io

Para comenzar, abra una ventana de terminal y emita el siguiente comando:

\curl -L https://get.rvm.io | bash -s stable --ruby

(deberá confiar en el equipo de desarrollo de RVM de que el comando no es malicioso ; si es un pingüino paranoico como yo, siempre puede leer la fuente : https://github.com/wayneeseguin/rvm ) Cuando esté completo usted tiene que reiniciar el terminal para obtener el rvmtrabajo de comandos.

rvm list known

(muestra las últimas versiones disponibles de Ruby)

rvm install ruby-2.3.1

Para una versión específica, seguida de

rvm use ruby-2.3.1

o si solo desea la última versión (actual):

rvm install current && rvm use current

(instala la versión estable actual - al momento de escribir ruby-2.3.1 - actualice este wiki cuando se publiquen nuevas versiones)

Nota sobre la compilación de Ruby : en mi caso, también tuve que instalar Homebrew http://mxcl.github.com/homebrew/ para obtener las gemas que necesitaba ( RSpec ), lo que a su vez te obliga a instalar Xcode (si aún no lo has hecho) ) https://itunes.apple.com/us/app/xcode/id497799835 Y / O instale el paquete GCC desde: https://github.com/kennethreitz/osx-gcc-installer para evitar errores al ejecutar " make ".

Editar: A partir de Mavericks , puede elegir instalar solo las herramientas de línea de comandos de Xcode en lugar de todo el paquete de Xcode, que viene con gcc y muchas otras cosas que podría necesitar para crear paquetes. Se puede instalar ejecutando xcode-select --instally siguiendo el mensaje en pantalla.

Nota sobre los errores: si aparece el error " RVM no es una función " al probar este comando, visite: ¿Cómo cambio mi versión de Ruby usando RVM? por la solución.

nelsonico
fuente
Configurar todo esto en Mountain Lion requiere mucha paciencia. Si se encuentra con un error "Error al ejecutar 'env GEM_PATH = / Users / ...", no son sus rutas, y verá en el registro que es que openssl (que probablemente está instalado) está roto en RVM y proporcionan un página sobre cómo
Dylan Valade
4
Realmente odio el desastre que es Ruby. Es un desastre. Sin embargo, esta respuesta me puso en el camino correcto y ¡muchas gracias por eso!
Ian Lewis
1
Vagando entre publicaciones que me llevan a otros problemas, encontré esta muy útil ya que explica cómo usar RVM, no solo usarlo.
Héctor Ordóñez
19

Con brew, esto es una sola línea:

(asumiendo que ha tocado homebrew / versions, lo que se puede hacer ejecutando brew tap homebrew/versions)

brew install ruby193

Me funcionó de inmediato en OS X 10.8.4. O si quieres 2.0, simplementebrew install ruby

De manera más general, le brew search rubymuestra los diferentes repositorios disponibles, y si desea ser realmente específico, puede usar brew versions rubyy verificar una versión específica en su lugar.

Nils
fuente
1
¡Excelente one-liner para instalar una versión específica de ruby! cambiar entre versiones de ruby ​​con brew no es tan fácil ... stackoverflow.com/questions/8730676
nelsonic
4

Sé que es una publicación anterior, pero quiero agregar información adicional al respecto. En primer lugar, creo que rvmes genial, PERO no estaba actualizando ruby ​​desde mi sistema (MAC OS Yosemite).

Lo que rvmestaba haciendo: instalar en otra ubicación y configurar la ruta allí a mi variable de entorno ... Y estaba un poco aburrido, porque ahora tenía dos ruby ​​en mi sistema.

Entonces, para solucionar eso, desinstalé el rvm, luego usé el administrador de paquetes Homebrew disponible aquí e instalé el comando de terminal ruby ​​throw haciendo brew install ruby.

¡Y entonces, todo estaba funcionando perfectamente! ¡El rubí de mi sistema se actualizó! ¡Espero que ayude a los próximos aventureros!

Damiii
fuente
1
Estaba luchando para decidir si debería usar rvmo brew. esto ayuda. gracias
unifreak
¿No hace la cerveza también lo mismo?
anon
3

No estaré de acuerdo con The Tin Man aquí. Considero que rbenv es preferible a RVM. rbenvno interfiere drásticamente con su shell como lo hace RVM, y le permite agregar instalaciones Ruby separadas en carpetas ordinarias que puede examinar directamente. Le permite compilar Ruby usted mismo. Buen resumen de las diferencias aquí: https://github.com/sstephenson/rbenv/wiki/Why-rbenv%3F

Proporciono instrucciones para compilar Ruby 1.9 para rbenv aquí . Más información más detallada aquí . He utilizado esta técnica con éxito en Snow Leopard, Lion y Mountain Lion.

mate
fuente
1
En el momento en que se hizo esta pregunta originalmente, rbenv no era una opción. Los tiempos cambian, al igual que el código. RVM sigue siendo una buena opción, pero tiene un peso pesado en comparación con rbenv. Utilizo ambos en diferentes máquinas, porque ambos son útiles de diferentes maneras.
the Tin Man
2

El artículo de Hivelogic de Dan Benjamin Installing Ruby, RubyGems, and Rails on Snow Leopard es el lugar recomendado para ir, aunque el artículo es para 1.8, así que aquí hay una instalación específica de Ruby 1.9 en Snow Leopard . Tenga cuidado con la cosa de 64 bits ... o vaya todo 'gordo' de 64 bits (como está, por ejemplo, Apache en OS X, que puede causar problemas con las bibliotecas de 32 bits) o verifique cualquier gema que sea probable usar para asegurarse de que estén bien para 64 bits.

Dave Everitt
fuente
2

Este comando realmente funciona

\curl -L https://get.rvm.io | bash -s stable --ruby

Antonio
fuente
0

Como se mencionó anteriormente, la versión del paquete puede ser demasiado alta para su versión de rieles.

Me encontré con el mismo problema usando Rails 3.0.1 que requiere Bundler v1.0.0 - v1.0.22

Verifique la versión de su paquete usando: gem list bundler

Si la versión de su paquete no está dentro del rango apropiado, encontré que esta solución funciona: rvm @global do gem uninstall bundler

Nota: se requiere rvm para esta solución ... otro caso de por qué debería usar rvm en primer lugar.

whiteshooz
fuente
0

Hay varios otros administradores de versiones para considerar, vea algunos ejemplos y uno que no está en la lista y que probaré pronto es ch-ruby . Probé rbenv pero tuve demasiados problemas con él. RVM es mi pilar, aunque a veces tiene algún problema (de ahí mi deseo de probar ch-ruby cuando tenga la oportunidad). No tocaría el sistema Ruby, ya que otras cosas pueden depender de él.

Debo agregar que también he compilado mi propio Ruby varias veces, y usar el artículo de Hivelogic (como sugirió Dave Everitt) es una buena idea si toma esa ruta.

iain
fuente