Por que parei de usar os gemsets do RVM

Uso RVM (Ruby Version Manager) desde que este foi lançado e pretendo continuar utilizando, dada a facilidade para utilizar diferentes implementações/versões do Ruby em uma mesma máquina.

Algo muito interessante que ele traz são os gemsets, ferramenta para separar suas gems em contextos, geralmente um para cada projeto.

Isso fazia total sentido antes do Rails chegar em sua versão 3, quando Bundler foi incluído por padrão para realizar o gerenciamento das gems.

Ou seja, na teoria apenas projetos rodando Rails 2 teriam o problema de versões diferentes das gems. Porém na prática, é possível usar o Bundler em projetos Rails 2, tornando os gemsets meio inúteis.

Juntei todas as minhas gems no gemset global, que já vem criado por default e há 2 meses tenho usado desta forma, onde tudo tem funcionado perfeitamente.

O único detalhe, é que se você tiver duas ou mais versões de alguma gem que inclui um executável (rspec por exemplo) você precisa chamá-lo da seguinte maneira:

bundle exec rspec

Dessa forma, o Bundler sabe qual dos executáveis usar, baseado no seu arquivo Gemfile. Para facilitar, eu criei alguns aliases:

alias rails='bundle exec rails'
alias rake='bundle exec rake'
alias rspec='bundle exec rspec'

Como vocês estão fazendo? Alguma sugestão ou crítica?

Deixe um comentário