4 votos

Instalar la más reciente versión de Ruby on Snow Leopard

He descargado y compilado la última versión de ruby 1.9.2, que fue instalado en /usr/local/bin/ruby, sin embargo, el sistema reconoce oficialmente /usr/bin/ruby que es sólo 1.8.7 que vino instalado en la máquina. Cómo puedo conseguir la nueva ruby en su lugar?

En este caso necesito reemplazar la versión de ruby y ser capaz de utilizar la versión actualizada de la línea de comandos de trabajo y de los rieles de desarrollo.

9voto

michaelmichael Puntos 2213

Usted debe usar RVM, el Ruby Version Manager. Permite múltiples side-by-side instalaciones de Rubí sin afectar el sistema de Rubí de la instalación, que como otro comentarista señaló pueden potencialmente ser problemático (o, al menos, molesto a mantener).

Se le permite rápida y fácilmente instalar la última patchlevel de Ruby, últimas versiones de Ruby, o incluso la alternativa de implementaciones como JRuby, MacRuby, o de Rubinius.

Para instalar:

$ bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)

Una vez instalado, la configuración de 1.9.2 como el valor predeterminado es tan sencillo como escribir:

rvm default 1.9.2

Y si usted se siente como volver a 1.8.7 temporalmente:

rvm use 1.8.7

2voto

kunigami Puntos 201

¿Qué entiende usted por "conseguir la nueva Ruby en su lugar"?

Si usted está tratando de ejecutar desde la línea de comandos usando el comando ruby, el sistema de búsqueda de cada una de las rutas especificadas en /etc/paths en orden hasta que encuentra una coincidencia. En Snow Leopard, el valor predeterminado /etc/paths archivo se parece a esto:

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

Así que cuando usted entra ruby en la línea de comandos, el sistema busca la /usr/bin/ruby en primer lugar, la encuentra, y no comprueba el resto de los caminos (así que nunca se a /usr/local/bin/ruby). Para confirmar esto, usted puede entrar en which ruby en la línea de comandos, y el sistema de impresión de la ruta de acceso del archivo ejecutable que se usaría para ese comando.

Si desea ejecutar la versión más reciente de Ruby desde la línea de comandos, simplemente introduce /usr/local/bin/ruby en lugar de ruby.

Si usted está usando otro programa que se está usando Ruby indirectamente, probablemente, hay una opción en algún lugar para especificar la ruta de acceso a ruby.


EDIT: Como último recurso, puede sobrescribir la incorporada en el sistema la versión de Ruby con su versión más reciente. Utilice los siguientes comandos y escriba su contraseña de administrador cuando se le solicite:

cp /usr/bin/ruby ~/Desktop/ruby_OLD
sudo cp /usr/local/bin/ruby /usr/bin/ruby

Si algo se rompe, lo puso de nuevo con este comando:

sudo mv ~/Desktop/ruby_OLD /usr/bin/ruby

Como otros han mencionado, aunque, el uso de una herramienta como RVM para gestionar Ruby sería una mejor idea de la actualización de la instalación integrada.

2voto

yoliho Puntos 340

La manera de conseguir cualquier programa instalado que se encuentra antes de una Manzana suministrado ome es agregar el directorio del nuevo programa (por ejemplo, /usr/local/bin) a la fromt de la variable de entorno PATH.

Si está ejecutando ruby desde el shell de editar ~/.perfil o si de una interfaz gráfica de usuario ~/.MacOSX/medio ambiente.plist

2voto

Oskar Puntos 1242

Si usted realmente desea reemplazar el existente /usr/bin/ruby (que es simplemente una sym enlace a /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby ) sólo sobrescribir el archivo existente con el que se ha compilado con cuidado para que coincida con los permisos de archivo.

Las razones para no hacerlo son muchas, pero es que el simple dado una interpretación literal de la pregunta.

La mayoría de la gente cambiar su ruta para incluir los nuevos ruby antes de que el sistema ya que es más sencillo y menos propensos a romperse otras cosas que dependen de la versión instalada de ruby y asociados dylib, gemas, rdocs, y tales resto de la misma.

Uno de los beneficios de homebrew y fink y RVM y MacPorts es que ayudan a automatizar la puesta en escena a una ubicación alternativa y de soporte de la modificación de su trazado.

Usted puede hacer lo mismo con el rubí tiene en /usr/local/bin mediante la manipulación de la variable path y el uso de which -a ruby a revisar el trabajo después.

0voto

Nicholas Riley Puntos 26161

Es posible que desee echar un vistazo a Homebrew, lo que hace que sea fácil para instalar la última Ruby - brew install ruby es todo lo que necesita - y muchos otros paquetes sin interferir con cualquier cosa, ya en su sistema, a un lugar que (casi seguro) que ya en su $PATH.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X