Felipe Cesar

    Gerenciando dependências com Volta

    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!