Instalar Node e Ruby (on Rails) usando asdf
Eu percebi que muitas pessoas têm dificuldade em configurar o Node e o Ruby.
Eu sempre usei o nvm e o rvm para gerenciar cada linguagem (até porque sou eu quem gera os binários para o Ubuntu no time do rvm
), mas o asdf é um gerenciador de versões de tempo de execução múltiplo que pode lidar com ambos.
Instalar asdf
Você precisará do curl
e git
instalados. Se não estiverem instalados, instale com:
sudo apt install curl git
Agora instale o asdf
, mas verifique qual é a versão atual nas instruções oficiais:
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.0
Agora vamos configurar as variáveis de ambiente do asdf
e incluir elas no bash:
echo '. "$HOME/.asdf/asdf.sh"' >> .bashrc
echo '. "$HOME/.asdf/completions/asdf.bash"' >> .bashrc
source .bashrc
Instalar Node
Instale as dependências sugeridas para o Node:
sudo apt install python3 g++ make python3-pip
Instale a última versão do Node:
asdf install nodejs latest
Defina uma versão global (padrão) para o Node:
asdf global nodejs latest
Instalar Ruby e Rails
Instale as dependências sugeridas para o Ruby:
sudo apt install autoconf patch build-essential rustc libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libgmp-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev uuid-dev
Instale a última versão do Ruby:
asdf install ruby latest
Defina uma versão global (padrão) para o Ruby:
asdf global ruby latest
Para criar um projeto Rails, você precisará da gem rails
instalada:
gem install rails
Mais sobre o asdf
Todos os comandos do asdf
estão listados aqui: https://asdf-vm.com/manage/commands.html.
Em resumo:
- Verificar a versão do
asdf
instalada:asdf version
- Listar plugins instalados:
asdf plugin list
- Listar plugins disponíveis:
asdf plugin list all
- Verificar a versão atual de um plugin:
asdf current <plugin>
- Listar todas versões instaladas de um plugin:
asdf list <plugin>
- Listar todas versões disponíveis de um plugin:
asdf list all <plugin>
- Adicionar um novo plugin:
asdf plugin add <plugin>
- Remover um plugin:
asdf plugin remove <plugin>
- Atualizar para última versão estável:
asdf update
- Atualizar para versão mais recente:
asdf update --head
Você pode configurar a versão de um plugin em 3 níveis diferentes:
- Global:
asdf global <plugin> <version>
- Sessão do Shell:
asdf shell <plugin> <version>
- Pasta local:
asdf local <plugin> <version>
A opção de pasta local vai criar um arquivo .tool-versions
.
Pronto!
Bônus: todos os passos acima em um único comando (apenas certifique-se de substituir v0.14.0
pela versão mais recente do asdf
):
sudo apt install curl git python3 g++ make python3-pip autoconf patch build-essential rustc libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libgmp-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev uuid-dev
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.0
echo '. "$HOME/.asdf/asdf.sh"' >> .bashrc
echo '. "$HOME/.asdf/completions/asdf.bash"' >> .bashrc
source .bashrc
asdf plugin add nodejs
asdf install nodejs latest
asdf global nodejs latest
asdf plugin add ruby
asdf install ruby latest
asdf global ruby latest
gem install rails
É isso! Agora confira o próximo post sobre como configurar um ambiente Rails + Vite.
Problemas frequentes
No preset version installed for command rails
Se você tentar executar o comando rails
no seu projeto e aparecer esse erro:
No preset version installed for command rails
Please install a version by running one of the following:
asdf install ruby <your-project-version>
or add one of the following versions in your config file at /home/rael/.tool-versions
ruby <last-installed-version>
Primeiro: estou supondo que, claro, você já tenha instalado a versão correta do ruby
.
Aí então rode esse comando:
asdf reshim ruby
Fonte: StackOverflow