banner

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