Cansado de gerenciar rbenv, nvm, pyenv e outros gerenciadores separados? Existe uma ferramenta que substitui todos eles com performance superior: o mise.
Escrito em Rust, o mise é até 10x mais rápido que rbenv e elimina a necessidade de múltiplas ferramentas. Vou te guiar pela instalação completa no Ubuntu/Linux Mint em menos de 10 minutos.
O que é o mise?
O mise é uma ferramenta unificada para gerenciar versões de linguagens de programação e ferramentas. Ele é:
- Rápido: Escrito em Rust, muito mais rápido que alternativas
- Unificado: Gerencia múltiplas linguagens em uma só ferramenta
- Compatível: Funciona com arquivos
.tool-versionsdo asdf - Simples: Interface limpa e intuitiva
Pré-requisitos
Antes de começar, certifique-se de ter os pacotes básicos instalados:
sudo apt update
sudo apt install -y curl git build-essential libssl-dev libyaml-dev
Instalando o mise
Método 1: Usando o script oficial (Recomendado)
curl https://mise.run | sh
Método 2: Download manual
# Download da versão mais recente
curl -L https://github.com/jdx/mise/releases/latest/download/mise-linux-x64 -o ~/.local/bin/mise
chmod +x ~/.local/bin/mise
Configurando o mise
Após a instalação, adicione o mise ao seu shell:
Para Bash
Adicione ao final do arquivo ~/.bashrc:
# mise configuration
eval "$(~/.local/bin/mise activate bash)"
Para Zsh
Adicione ao final do arquivo ~/.zshrc:
# mise configuration
eval "$(~/.local/bin/mise activate zsh)"
Para Fish
Adicione ao arquivo ~/.config/fish/config.fish:
# mise configuration
~/.local/bin/mise activate fish | source
Depois, recarregue seu shell:
source ~/.bashrc # ou ~/.zshrc dependendo do seu shell
Instalando Ruby com mise
Listando versões disponíveis
# Ver todas as versões do Ruby disponíveis
mise list-remote ruby
# Ver apenas as versões mais recentes
mise list-remote ruby | tail -20
Instalando uma versão específica
# Instalar a versão mais recente (3.3.x)
mise install [email protected]
# Instalar uma versão específica
mise install [email protected]
# Instalar e definir como global
mise use --global [email protected]
Definindo versões por projeto
Crie um arquivo .tool-versions na raiz do seu projeto:
# No diretório do seu projeto
echo "ruby 3.3.0" > .tool-versions
# Ou use o comando mise
mise use [email protected]
Verificando a instalação
# Verificar se o Ruby foi instalado corretamente
ruby --version
# Verificar a localização do Ruby
which ruby
# Verificar versões instaladas do mise
mise list
Configurações extras para Ruby
Instalando gems essenciais
# Atualizar o RubyGems
gem update --system
# Instalar Bundler
gem install bundler
# Instalar Rails (se necessário)
gem install rails
Configurando o Bundler
# Configurar para instalar gems localmente no projeto
bundle config set --local path 'vendor/bundle'
# Não instalar gems de documentação por padrão
echo "gem: --no-document" >> ~/.gemrc
Comandos úteis do mise
# Listar ferramentas instaladas
mise list
# Atualizar o mise
mise self-update
# Instalar plugins adicionais
mise plugin install nodejs
mise plugin install python
# Ver configuração atual
mise current
# Remover uma versão
mise uninstall [email protected]
# Definir versão local para o projeto atual
mise use [email protected]
# Definir versão global
mise use --global [email protected]
Exemplo prático: Configurando um projeto Rails
# Criar um novo projeto
mkdir meu_projeto_rails
cd meu_projeto_rails
# Definir versão do Ruby para este projeto
mise use [email protected]
# Verificar se o arquivo .tool-versions foi criado
cat .tool-versions
# Instalar Rails
gem install rails
# Criar uma nova aplicação Rails
rails new . --database=postgresql --skip-git
# Instalar dependências
bundle install
Troubleshooting
Problema: comando mise não encontrado
# Verificar se o PATH está correto
echo $PATH
# Adicionar manualmente ao PATH
export PATH="$HOME/.local/bin:$PATH"
Problema: falha na compilação do Ruby
# Instalar dependências de compilação
sudo apt install -y libffi-dev libgdbm-dev libncurses5-dev \
libreadline-dev libsqlite3-dev libssl-dev libyaml-dev zlib1g-dev
Problema: gems instalando lentamente
# Configurar mirror brasileiro para RubyGems
gem sources --add https://rubygems.org/ --remove https://rubygems.org/
bundle config mirror.https://rubygems.org https://rubygems.org/
Comparação com outras ferramentas
| Ferramenta | Linguagens Suportadas | Performance | Facilidade de Uso |
|---|---|---|---|
| mise | Múltiplas | ★★★★★ | ★★★★★ |
| rbenv | Ruby apenas | ★★★★ | ★★★★ |
| rvm | Ruby apenas | ★★★ | ★★★ |
| asdf | Múltiplas | ★★★ | ★★★★ |
Conclusão
O mise é uma excelente opção para gerenciar versões do Ruby e outras linguagens. Sua performance superior e interface unificada tornam o desenvolvimento muito mais eficiente.
Com este setup, você terá um ambiente Ruby moderno e flexível, pronto para qualquer projeto!
Próximos passos
- Configure seu editor favorito para usar a versão correta do Ruby
- Explore plugins do mise para outras linguagens
- Considere usar o mise em seus projetos em produção
Tem dúvidas ou sugestões? Entre em contato!