minutes mac ruby macos macports

minutes - Ruby en Mac OSX a través de puertos Mac



ruby in 20 minutes (7)

Desinstalar la versión de ruby ​​1.8:
puerto sudo desinstalar ruby
Instala la versión 1.9 de ruby:
puerto sudo instalar ruby19
Reabrir terminal

Soy nuevo tanto en Ruby como en Mac OSX, aunque tengo bastante experiencia con los comandos de Unix. Acabo de instalar Ruby 1.9 mediante un comando de MacPorts (puerto instalar ruby19). Luego tuve que hacer una búsqueda desde la raíz para averiguar dónde estaba, que resultó ser: /opt/local/var/macports/software/ruby19/1.9.1-p376_0/opt/local/bin/ruby1. 9.

La versión actual de Ruby (1.8.6) se ejecuta a través de / usr / bin / ruby, que es un enlace simbólico a /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby donde Current es un símbolo enlace a un directorio llamado 1.8.

Me gustaría que Ruby 1.9 sea mi valor predeterminado (junto con herramientas relacionadas como irb), y aunque puedo lograrlo, me gustaría saber si hay una forma convencional. ¿Debo copiar o vincular la ruta de MacPorts a /System/Library/Frameworks/Ruby.framework/Versions/1.9 y luego apuntar Current a 1.9? (También habría renombrado o copiado los ejecutables: ruby1.9 a ruby, irb1.9 a irb, etc.) O debería simplemente eliminar el enlace / usr / bin / ruby ​​(y / usr / bin / irb, etc) y crear nuevos apuntando a la versión de MacPorts?


El binario ruby1.9 debe instalarse en /opt/local/bin ; Si no es así, es posible que no haya activado el puerto.

La forma más fácil de hacer que Ruby 1.9 sea la raíz predeterminada es crear un alias para ruby to ruby1.9 . Si está utilizando Bash, puede hacerlo colocando esto en su archivo de configuración de Bash:

alias ruby=''/opt/local/bin/ruby1.9''


En la última versión de macports (2.1.3 o superior) puede usar el comando de port select .

port select --list ruby sudo port select --set ruby ruby19

Para versiones anteriores de macports puedes hacer un enlace simbólico a la versión ruby ​​numerada. Esta es la forma en que los macports generalmente manejan el cambio entre diferentes versiones de paquetes.

cd /opt/local/bin sudo ln -s ruby1.9 ruby


Instala la variante de nosuffix lugar:

sudo port install ruby19 +nosuffix

Su nueva versión de ruby ​​ahora debe tener prioridad sobre la preinstalada.


Mi consejo:

$ port uninstall ruby1.9

Luego sigue esto: https://rvm.io/rvm/install/

Entonces:

$ rvm install 1.9.2 $ rvm --default 1.9.2

Puede que incluso rvm install macruby to toy con Cocoa.


Puede usar el comando de selección de puerto, bajo MacPorts 2.1.3

$sudo port select --set ruby ruby19


Recomiendo encarecidamente RVM . Toma un poco de lectura, pero una vez que lo tienes instalado puedes instalar un ruby ​​con rvm install 1.9 (o jruby, ree, 1.8, etc.), y cambiar entre ellos con rvm 1.9 . Cada versión de ruby ​​también tendrá su propio conjunto de rubygems completamente aislado.