Por que não RVM? Existem diferenças:
- RVM é uma ferramenta projetada para trazer a você uma listagem de todos os rubis disponíveis na rede, baixando e compilando-os, alternando entre eles, gemsets.
- Rbenv é uma ferramenta para alternar entre versões de ruby. Você baixa e instala os rubis, decide qual ferramenta para dividir as gemas em conjuntos deve ser usada.
- O RVM substitui o comando ‘cd’, em outras palavras, quando você muda de diretório, o comando também ‘procura’ o arquivo .rvmrc nele e o executa. Dessa forma, você pode lançar versões de ruby por projeto.
- Rbenv muda os executáveis nas joias que você baixou, então se você executar ‘rails’, ele procura pelo arquivo .rbenv_version no diretório atual (ou em seus pais se não houver tal arquivo) e o usa para decidir a versão.
- RVM é tudo em um.
- O Rbenv tem um sistema de plug-ins e pode ser configurado para ser compatível com a funcionalidade do RVM.
Se você me perguntar, o que é melhor, vou responder sinceramente – depende. O importante é – você deve usar uma ferramenta que funcione para você, o ajude e não atrapalhe. Por enquanto eu prefiro o Rbenv, porque gosto da ideia de fazer upgrating / downgrating através de plugins…
Em primeiro lugar, se você tiver RVM, remova-o; as duas ferramentas não funcionam bem juntas:
rvm implode
Agora vamos instalar o Rbenv:
git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
Isso baixa o Rbenv no diretório .rbenv da sua casa.
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
Isso adiciona os comandos rbenv ao seu PATH. Para Ubuntu e Mint, use .profile, para zsh – .zshrc.
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
Isso permite shims e preenchimento automático. Novamente para Ubuntu e Mint, use .profile, para zsh -. Você pode ler mais sobre shims no github do Rbenv .
exec $SHELL -l
Isso reiniciará seu shell e as alterações de PATH terão efeito.
Podemos listar as versões de ruby disponíveis com isto:
rbenv versions
Nós não temos rubis. Então, como instalar um? Eu disse que o Rbenv só pode alternar entre rubis já instalados, então você pode baixar o binário ou fonte do Ruby (e compilá-lo) e colocá-lo em .rbenv / versões, por exemplo ‘~ / .rbenv / versions / 1.9.3-p429 ′ . Mas existe outra maneira. Mencionei anteriormente, que o Rbenv tem um sistema de plug-ins, então instalaremos um plug-in chamado ruby-build cujo objetivo é baixar e instalar / desinstalar rubis.
mkdir -p ~/.rbenv/plugins
cd ~/.rbenv/plugins
git clone https://github.com/sstephenson/ruby-build.git
É isso. Para instalar um plugin, tudo que você precisa fazer é colocá-lo em ~ / .rbenv / plugins. Agora vamos listar os rubis conhecidos:
rbenv install --list
Legal. Agora, para instalar o Ruby 1.9.3, patch 429:
rbenv install 1.9.3-p429
rbenv rehash
A segunda linha é importante. Ao baixar rubis ou gemas executáveis, você terá que executá-los para atualizar os arquivos shim. Agora temos rubi 193-p429. Vamos selecioná-lo globalmente:
rbenv global 1.9.3-p429
Este é o rubi padrão a partir de agora. Você pode visualizá-lo com ‘rbenv global’ ou ‘versão rbenv’.
Vamos continuar seguindo meu post RVM e instalar o Ruby 2.0.0 com trilhos:
rbenv install 2.0.0-p195
rbenv rehash
rbenv global 2.0.0-p195
gem install rails
rbenv rehash
Tudo está feito, agora se você executar ‘rails -v’ você terá o Rails 3.2.13 instalado, mas se você trocar o ruby global por ‘rbenv global 1.9.3-p429 ′, não terei o Rails instalado.
Conjuntos de joias … Você não os tem. Se você quiser algo semelhante, terá que instalar um plugin.
mkdir -p ~/.rbenv/plugins
cd ~/.rbenv/plugins
git clone git://github.com/jamis/rbenv-gemset.git
Portanto, temos o plugin gemset. A ideia é que você pode incluir conjuntos de joias em um projeto. Crie em algum lugar um diretório para um projeto rails 4. Vá para este diretório e execute:
echo rails4 > .rbenv-gemsets
Agora, para esta pasta, o gemset é rails4, se você quiser usar este gemset em outro projeto, navegue até sua pasta raiz e execute o comando acima. É isso aí. Portanto, agora, se estivermos em uma pasta que é modificada desta forma, podemos instalar o Rails 4:
gem install rails --version 4.0.0 --no-ri --no-rdoc
Experimente, se você está na pasta a versão do rails é 4, se você navegar fora dela é 3.2. Agora, as mesmas coisas úteis do post para RVM:
- Para excluir um gemset, basta excluir a pasta .rbenv-gemsets.
- Para usar o ruby do sistema, apague o arquivo de versão global – ~ / .rbenv / version ou execute ‘rbenv global system’. Se você tiver problemas para olhar a variável de ambiente RBENV_VERSION, pode ser necessário desmarcá-la.
- Para atualizar o Rbenv, navegue até ~ / .rbenv e extraia a versão mais recente por meio do git.
- Para excluir o Rbenv, apenas exclua a pasta ~ / .rbenv e limpe o arquivo de perfil do shell de itens específicos do Rbenv.
Links Úteis:
- Site Rbenv – http://rbenv.org
- Página da Ruby Toolbox sobre gerenciadores de versão Ruby – https://www.ruby-toolbox.com/categories/ruby version management
- Postagem legal sobre RVM e Rbenv – http://jonathan-jackson.net/rvm-and-rbenv
- Plugins Rbenv – https://github.com/sstephenson/rbenv/wiki/Plugins