RVM controla a qué Ruby apunta tu shell actual, pero no instala un Ruby controlado por el usuario de forma predeterminada. Si no ha instalado ninguna versión específica de Ruby a través de RVM, el único Ruby que tiene es el OS X instalado y que requiere sudo
de permisos para escribir.
Puedes ver los rubíes disponibles con:
> rvm list
rvm rubies
=* ruby-2.1.2 [ x86_64 ]
# => - current
# =* - current && default
# * - default
En mi caso, tengo 2.1.2 instalado y es tanto el Ruby actual como el Ruby predeterminado cuando inicio una nueva shell:
> which ruby
/Users/ian/.rvm/rubies/ruby-2.1.2/bin/ruby
Para instalar una versión de Ruby con RVM, haz:
> 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 tiene instalado un Ruby administrado por RVM que es de su propiedad, específicamente puede gem
-install cualquier cosa que desee 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 se ha instalado para la versión 2.1.3 de Ruby que RVM puso bajo ~/.rvm
para mí. Si tuviera que cambiar 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 volver a instalarla para que esté disponible para esa versión de Ruby.
También puedes administrar gemas como conjuntos para que ni siquiera se compartan con una instalación de Ruby. Consulte los elementos básicos de gemset en el sitio web de RVM para obtener más detalles.