Executando verificação de segurança...
1

Por que troquei o NVM pelo ASDF

O que é o asdf?

asdf é um gerenciador de versões de código aberto conhecido como "Abstract Scripting Definition Format". Ele oferece uma interface unificada para instalar, gerenciar e alternar entre diferentes versões de várias linguagens de programação e ferramentas. Ao contrário de outros gerenciadores de versões, o asdf é altamente versátil e suporta uma ampla gama de linguagens e ferramentas.

Por que eu troquei o NVM pelo asdf?

Eu decidi trocar o NVM pelo asdf quando comecei a programar com Elixir e Erlang. Outros gerenciadores como NVM ou N são especializados apenas no gerenciamento de versões do Node.js, GVM apenas GoLang, pyenv apenas para Python e etc, enquanto o asdf oferece suporte a uma variedade de linguagens, incluindo o Node.js e o Elixir. A transição para o asdf me permitiu ter um único gerenciador para todas as linguagens que eu precisava, simplificando meu ambiente de desenvolvimento.

Vantagens do asdf

O asdf oferece várias vantagens em comparação com outros gerenciadores de versões. Sua interface de linha de comando simples e consistente torna a instalação e o gerenciamento de versões fáceis e intuitivos. Além disso, o asdf permite o gerenciamento global ou por projeto, oferecendo flexibilidade na definição de versões específicas para cada projeto.

O NVM utiliza uma estrutura baseada em shell scripts para gerenciar as versões do Node.js. Ele utiliza uma série de scripts para instalar, desinstalar e alternar entre as versões do Node.js. Esses scripts manipulam as variáveis de ambiente, redirecionando o caminho para a versão desejada do Node.js e executando os comandos apropriados.

Por outro lado, o asdf adota uma abordagem mais modular e flexível. Ele utiliza plugins para cada linguagem ou ferramenta específica que você deseja gerenciar. Esses plugins contêm instruções sobre como instalar, desinstalar e definir as versões específicas para cada linguagem ou ferramenta suportada. O asdf utiliza o conceito de "version manager shim", que é um pequeno executável que redireciona as chamadas dos comandos para a versão correta instalada da linguagem ou ferramenta.

Suportes oficiais do asdf

O asdf possui suporte oficial para uma ampla variedade de linguagens e ferramentas. Além do Node.js e Elixir, ele também suporta Ruby, Python, Java, Erlang, Rust, PHP e muitas outras. Isso significa que você pode usar o asdf como seu principal gerenciador de versões, independentemente da linguagem em que está trabalhando.

Instalação do asdf

O asdf suporta sistemas baseados em UNIX, infelizmente, não existe suporte oficial para o Windows. No entanto, é possível utilizar o Windows Subsystem for Linux (WSL2) para aproveitar os recursos do asdf no Windows. Ao configurar o WSL2 e instalar o asdf no ambiente WSL2, você poderá usufruir de todas as funcionalidades do asdf em um ambiente Windows.

A instalação do asdf é simples e pode ser feita seguindo as etapas abaixo:

Métodos da comunidade

Gerenciador de pacotesComando
Homebrewbrew install asdf
Pacmangit clone https://aur.archlinux.org/asdf-vm.git && cd asdf-vm && makepkg -si

Método oficial

  • Primeiro, instalte as dependencias git & curl
OSGerenciador de pacotesComando
linuxAptitudeapt install curl git
linuxDNFdnf install curl git
linuxPacmanpacman -S curl git
linuxZypperzypper install curl git
macOSHomebrewbrew install coreutils curl git
macOSSpackspack install coreutils curl git

Talvez seja necessário usar o comanado sudo antes dos comandos dependendo da sua configuração de usuário.

  • Abra o terminal no seu sistema operacional.
  • Execute o seguinte comando para clonar o repositório do asdf:
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.12.0
  • Adicione o seguinte código ao arquivo de configuração do shell que você está utilizando (por exemplo, .bashrc, .zshrc ou .bash_profile):
. $HOME/.asdf/asdf.sh
  • O auto completar deve ser configurado manualmente a partir da adição da seguinte linha ao .bashrc:
. "$HOME/.asdf/completions/asdf.bash"
  • Reinicie o shell ou execute o comando source para aplicar as alterações.
  • Agora você pode instalar os plugins para as linguagens e ferramentas que deseja utilizar. Por exemplo, para instalar o plugin do Node.js, execute o seguinte comando:
asdf plugin-add nodejs https://github.com/asdf-vm/asdf-nodejs.git
  • Para instalar o plugin do Elixir, utilize o comando abaixo:
asdf plugin-add elixir https://github.com/asdf-vm/asdf-elixir.git
  • Com os plugins instalados, você pode instalar versões específicas das linguagens. Por exemplo, para instalar o Node.js versão 14.17.3, execute o comando:
asdf install nodejs latest
  • Para definir uma versão global para o Node.js ou Elixir, utilize os comandos:
asdf global nodejs <versão>
asdf global elixir <versão>
  • Para definir uma versão específica para um projeto, navegue até o diretório do projeto e execute os comandos:
asdf local nodejs <versão>
asdf local elixir <versão>
  • Você também pode verificar a lista completa com todos comandos digitando:
asdf help

Conclusão

Agora você está pronto 🎉 para utilizar o asdf e aproveitar todas as vantagens de gerenciar versões de linguagens e ferramentas de forma simples e eficiente.

Lembre-se de consultar a documentação oficial do asdf (https://asdf-vm.com) para obter mais informações sobre como usar e personalizar o gerenciador de versões de acordo com suas necessidades específicas.

Carregando publicação patrocinada...
2