2010-08-13 19 views
30

¿Por qué Mac OS X viene con ruby ​​y ruby ​​on rails preinstalados? ¿El sistema operativo realmente lo usa en absoluto? ¿Puedo actualizar mis versiones de Ruby, Rails o Gem de manera segura sin algo que escupir el maniquí?¿Por qué Mac OS X viene con ruby ​​/ rails?

+3

También viene con python instalado. – Toad

+3

... y tcl. Y perl. –

+0

Puede actualizar esas cosas, pero, debido a que no hay pruebas de regresión o integración, no tiene forma de saber si arruinó algo de lo que el sistema se basa. Pruebe mi comando que figura en el comentario debajo de la respuesta seleccionada y verá que Apple depende de los idiomas; No están allí para nuestro placer únicamente. @Ned Deily recomienda ser cuidadoso y sugiere formas alternativas de enfrentarlo. También recomendaré usar [RVM] (http://rvm.beginrescueend.com/) para la tarea. –

Respuesta

52

Como han señalado otros, OS X viene con varios paquetes de código abierto preinstalados. Si bien esto puede ser una buena conveniencia, los paquetes a menudo solo se actualizan a nuevas versiones como parte de una importante versión de OS X (como 10.5 a 10.6). Además, algunos paquetes se usan en otras partes de otras partes de OS X y no hay una manera fácil de saber cuál. En general, Apple asume (y usted debería, también) que todo bajo /System/Library y /usr/, excepto /usr/local/, es parte de OS X y es administrado por Apple. No debe intentar eliminar o modificar archivos en esas jerarquías. Eso incluye casi todos los paquetes de código abierto, incluido Ruby.

En cambio, para actualización un paquete existente, el enfoque correcto es instalar una nueva versión en un lugar separado (por ejemplo, /usr/local/) e invocar la nueva versión por una referencia de ruta absoluta (/usr/local/bin/ruby) o la manipulación de la cáscara PATH variable de entorno, si es necesario. /usr/local/ se usa a menudo si se instala directamente desde la fuente. Muchas personas prefieren usar uno de los distribuidores de paquetes de código abierto de terceros, como MacPorts, Fink o Homebrew, cada uno de los cuales tiene su propio administrador de paquetes y ubicaciones de instalación.

+2

+1, y esta es la respuesta correcta. –

7

No, el sistema operativo no usa, es solo que Apple quiere que sus productos sean un poco más atractivos para los desarrolladores. (también hay Python preinstalado junto con algunos otros paquetes).

Puede actualizar de forma segura sus Ruby, Rails, Gems, pero la versión predeterminada de Ruby está un poco desactualizada. Compruebe RVM para que pueda instalar diferentes Rubies en su sistema

+9

¿Cómo sabes que Apple no usa Ruby, Python, Perl o TCL? De acuerdo con mis cheques, hay un uso del sistema de los cuatro idiomas: prueba 'locate * .py | grep ^/usr | grep -v/System' con sus extensiones estándar. –

1

Considere Rubystack si desea jugar con entornos más actualizados sin interferir con las versiones existentes. Descargo de responsabilidad, soy uno de los desarrolladores de RubyStack. Está disponible gratuitamente bajo la licencia de Apache 2.0 de código abierto.

+1

Debe divulgar su afiliación con la compañía cada vez que menciona su producto. De lo contrario, se considera como spam aquí. –

+0

Lo he hecho en la mayoría de las otras preguntas y está claramente especificado en mi perfil también. BitNami no es una empresa, y no ganamos dinero con las pilas (aunque está patrocinado por una y brindamos soporte y servicios a otras empresas de código abierto como Sugar, Alfresco, etc.). En cualquier caso, ahora he actualizado mi respuesta. Además, creo que no hubo necesidad de rechazar la respuesta, ya que está directamente relacionada con el tema. –

+1

No he votado negativamente. La bandera de spam funciona así. Desaparecerá después de un tiempo ahora que actualizaste tu respuesta. Sin embargo, tenga en cuenta que realmente debe especificar su afiliación en cada una de sus respuestas, no es suficiente tenerla en su perfil, por lo que debe verificar que todas sus respuestas que recomiendan sus productos incluyan un descargo de responsabilidad. –