RVM controla a qué Ruby apunta tu shell actual, pero no instala por defecto un Ruby controlado por el usuario. Si no has instalado ninguna versión específica de Ruby a través de RVM, el único Ruby que tienes es el que instaló OS X y que requiere sudo
permisos para escribir.
Puede ver los rubíes disponibles con:
> rvm list
rvm rubies
=* ruby-2.1.2 [ x86_64 ]
# => - current
# =* - current && default
# * - default
En mi caso tengo instalada la versión 2.1.2 y es tanto el Ruby actual como el Ruby por defecto cuando inicio un nuevo shell:
> which ruby
/Users/ian/.rvm/rubies/ruby-2.1.2/bin/ruby
Para instalar una versión de Ruby con RVM hazlo:
> rvm install ruby-2.1
No binary rubies available for: osx/10.10/x86_64/ruby-2.1.3.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
...snip...
Install of ruby-2.1.3 - #complete
Ruby was built without documentation, to build it run: rvm docs generate-ri
Ahora que tienes instalado un Ruby gestionado por RVM que te pertenece específicamente puedes gem
-instalar lo que quieras sin necesidad de usar sudo
:
> rvm list
rvm rubies
* ruby-2.1.2 [ x86_64 ]
=> ruby-2.1.3 [ x86_64 ]
# => - current
# =* - current && default
# * - default
> rvm gemdir
/Users/ian/.rvm/gems/ruby-2.1.3
> gem install packer-config
Esa gema ha sido instalada para la versión 2.1.3 de Ruby que RVM puso bajo ~/.rvm
para mí. Si me cambiara a la versión 2.1.2 a través de rvm use ruby-2.1.2
No vería esa gema, tendría que reinstalarla para que estuviera disponible para esa versión de Ruby.
También puedes gestionar las gemas como conjuntos para que no se compartan con una instalación de Ruby. Ver el fundamentos del conjunto de gemas en el sitio web del RVM para más detalles.