Neste post do blog, discutiremos como combinar o poder do rbenv
e autoenv
para gerenciar versões do Ruby e variáveis de ambiente em seus projetos de forma eficiente. Ao final deste post, você terá uma compreensão clara de como usar essas ferramentas juntas para melhorar ainda mais sua experiência de desenvolvimento Ruby.
Observação: este tutorial pressupõe que você já instalou rbenv
e autoenv
. Se ainda não o fez, siga as instruções de instalação do rbenv
e autoenv
.
Por que usar rbenv e autoenv juntos?
rbenv
é uma ferramenta poderosa que permite gerenciar várias versões do Ruby facilmente. Por outro lado, autoenv
ajuda a gerenciar variáveis de ambiente específicas de um diretório de projeto. Ao usar as duas ferramentas juntas, você pode garantir que está usando a versão correta do Ruby e as variáveis de ambiente certas para cada projeto, sem a necessidade de intervenção manual.
Configurando rbenv e autoenv
Antes de mergulhar em exemplos, vamos configurar o autoenv
para funcionar com o rbenv
. Para fazer isso, crie um novo arquivo .env
em seu diretório de projeto e adicione as seguintes linhas:
export RBENV_VERSION=$(cat .ruby-version)
export PATH="$HOME/.rbenv/shims:$PATH"
A primeira linha define a variável de ambiente RBENV_VERSION
com base no conteúdo do arquivo .ruby-version
. A segunda linha garante que o diretório de atalhos do rbenv
esteja no PATH
, para que a versão correta do Ruby seja usada ao executar comandos do Ruby.
Exemplo 1: Alternando versões do Ruby
Suponha que você tenha dois projetos: projeto_a
e projeto_b
. Você deseja usar a versão do Ruby 2.7.4 para projeto_a
e a versão do Ruby 3.0.2 para projeto_b
. Aqui está como você pode fazer isso com o rbenv
e o autoenv
:
- Crie um arquivo
.ruby-version
em cada diretório de projeto:
echo "2.7.4" > project_a/.ruby-version
echo "3.0.2" > project_b/.ruby-version
- Crie um arquivo
.env
em cada diretório de projeto com o conteúdo mencionado anteriormente:
cp .env project_a/
cp .env project_b/
Agora, quando você navegar até projeto_a
ou projeto_b
, o autoenv
definirá automaticamente a RBENV_VERSION
e ajustará o PATH
para usar a versão correta do Ruby.
Exemplo 2: Gerenciando variáveis de ambiente específicas do projeto
Vamos supor que projeto_a
requer as seguintes variáveis de ambiente:
API_KEY
: sua chave de API para um serviço de terceirosSECRET_KEY
: uma chave secreta para criptografar dados
Você pode adicionar essas variáveis ao arquivo .env
em projeto_a
desta maneira:
export RBENV_VERSION=$(cat .ruby-version)
export PATH="$HOME/.rbenv/shims:$PATH"
export API_KEY="sua_chave_api_aqui"
export SECRET_KEY="sua_chave_secreta_aqui"
Agora, quando você navegar até projeto_a
, o autoenv
definirá automaticamente a RBENV_VERSION
, ajustará o PATH
e definirá as variáveis de ambiente API_KEY
e SECRET_KEY
.
Conclusão
Ao usar o rbenv
e o autoenv
juntos, você pode gerenciar facilmente versões do Ruby e variáveis de ambiente específicas do projeto sem nenhuma intervenção manual. Essa combinação torna sua experiência de desenvolvimento Ruby mais eficiente e menos propensa a erros.
Não se esqueça de adicionar seus arquivos .env
ao seu arquivo .gitignore
para evitar comprometer informações confidenciais em seu sistema de controle de versão.
Com essa configuração em vigor, você desfrutará de um fluxo de trabalho de desenvolvimento Ruby sem problemas, personalizado para cada um de seus projetos. Boa codificação!