Un post rápido, sobre todo como “nota y/o apunte mental” para mí, pero que creo que a todos os vendrá bien. En mi trabajo y/o cacharreo diario uso de manera indiscriminada ruby, por ejemplo, para postear ( octopress ), para usar chef a través de knife ( .. y librarian y spiceweasel ), y vagrant y veewee y gitlab y redmine y … DIOS @achilued estoy rodeado. Bueno, para todo esto uso rvm, que si, que si, que podria usar rbenv, ok, pero me he acostubrado a usar rvm, y he descubierto los gemset ( vale, todos aquellos que sois un gurú de ruby ya lo concíais, :D ), estos gemset son simplemente contenedores de gemas, esto nos permite no sólo tener diferentes versiones de ruby, si no, que con la misma version podemos tener diferentes conjuntosde gemas para todas nuestras historias.

Al lio.

Creación del gemset

1
2
3
deployer@debvirt:~$ rvm version

rvm 1.18.5 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
  • Con la version de ruby
1
2
3
4
5
6
7
8
9
deployer@debvirt:~$ rvm list

rvm rubies

=* ruby-1.9.3-p374 [ x86_64 ]

# => - current
# =* - current && default
#  * - default
1
2
deployer@debvirt:~$ rvm gemset create bosh
gemset created bosh => /home/deployer/.rvm/gems/ruby-1.9.3-p374@bosh

Uso

Para usar cada uno de los gemset, se puede, o bien especificarlo en un archivo rvmrc en cada uno de los directorios de los distintos proyectos o bien invocarlo a través de rvm:

1
2
deployer@debvirt:/tmp/ejemplo$ cat .rvmrc 
rvm use ruby-1.9.3@default
  • Comando rvm use gemset <nombre>
1
2
deployer@debvirt:~$ rvm gemset use bosh
Using ruby-1.9.3-p374 with gemset bosh

Más tips

1
2
3
4
5
6
7
deployer@debvirt:~$ rvm gemset list

gemsets for ruby-1.9.3-p374 (found in /home/deployer/.rvm/gems/ruby-1.9.3-p374)
   (default)
   bosh
=> chef
   global

Saludos.