Gerencie a versão de tudo em um só lugar
No dia a dia de um time de desenvolvimento de software, é bastante comum lidar com diversos projetos e cada um deles com versões diferentes, seja de linguagem, framework ou até mesmo de ferramentas.
Muitas linguagens já possuem ferramental para lidar com isso, como o nvm para o Node.js, rbenv para o Ruby e pyenv para o Python. Mas cada um funciona de um jeito e você precisa entender e memorizar o funcionamento de cada um deles. E se eu te disser que existe uma ferramenta que consegue gerenciar a versão de diferentes linguagens e muito mais?
É isso que o asdf faz, através de uma única CLI! Ele é um gerenciador de versões universal, que permite você gerenciar a versão de diversas linguagens e ferramentas, como Node.js, Ruby, Python, Poetry, Elixir, Erlang, Go, PHP, R, Deno, Rust, Clojure, Haskell, Scala, etc.
Como gerenciar a versão por projeto?#
O asdf permite que você gerencie a versão de cada projeto de forma independente, através de um arquivo chamado .tool-versions
. Este arquivo deve ficar na raiz do seu projeto e nele você deve informar a versão que deseja utilizar para cada linguagem ou ferramenta.
Por exemplo, se você deseja utilizar a versão 14.17.0 do Node.js e a versão 3.0.2 do Poetry, seu arquivo .tool-versions
ficaria assim:
nodejs 14.17.0
poetry 1.1.6
Instalação e funcionamento#
A documentação deles é bem completa e possui um passo a passo para instalação em cada sistema operacional, então não vou entrar em detalhes aqui. Mas basicamente, você precisa instalar o asdf e depois instalar os plugins das linguagens e ferramentas que você deseja utilizar.