Neste post vou falar um pouco sobre o que é o Volta e porque deixei de usar o NVM.

O que é o Volta

Volta é uma ferramenta de linha de comando que permite instalar e executar qualquer ferramenta JavaScript perfeitamente. Ele garante que todos no projeto usem as mesmas ferramentas, com as mesmas versões.

Para instalar só é necessário executar um comando:

# install Volta
curl https://get.volta.sh | bash

Feito isso, podemos instalar qualquer ferramenta e usar normalmente:

# install Node
volta install node

# start using Node
node

Podemos também instalar uma versão específica:

volta install node@10

Com o comando volta list all podemos listar todas as ferramentas e versões instaladas:

Node runtimes:
    v10.19.0
    v12.19.0 (default)

Package managers:
    Yarn:
        v1.22.10 (default)

Quando executamos o comando volta install ele baixa a versão e define como default automaticamente, caso você já tenha a versão instalada, ele só define como default.

Também podemos fixar versões em nossos projetos utilizando o comando volta pin, por exemplo:

volta pin node yarn

Ele vai adicionar as versões no package.json.

"volta": {
  "node": "12.19.0",
  "yarn": "1.22.10"
}

Caso você não tenha alguma dessas versões instaladas, ele baixa automaticamente.

Por quê deixei de usar o NVM?

Quando ouvi falar sobre o Volta pela primeira vez, a primeira coisa que pensei foi: Não preciso disso, já uso o NVM.

Mesmo assim resolvi dar uma olhada e logo percebi que estava enganado, com o NVM eu conseguia gerenciar versões do Node, com o Volta eu posso fazer isso com qualquer ferramenta.

Além disso, tinham alguns pontos que me incomodavam no NVM:

  • Sempre precisava trocar as versões de forma manual, para automatizar isso era necessário fazer algumas configurações no shell e adicionar um arquivo .nvmrc no projeto.
  • Quando abria o terminal no diretório do projeto demorava um pouco trocar a versão.

Com o Volta a troca de versão é extremamente rápida e não é necessário nenhuma configuração adicional, ele já faz isso automaticamente.

Conclusão

Este post foi uma breve introdução ao Volta e algumas vantagens que vi em relação ao NVM, se você viu outras vantagens ou desvantagens não deixe de comentar. Abraço!