Puro — Uma forma eficiente de gerenciar as versões flutter
Tags: puro, version, management, flutter
Published: 2024-05-18 13:45:42

![](https://cdn-images-1.medium.com/max/800/1*NG06IDt7z6kZdrN6Ff6yFQ.png)

Pode ser que você já tenha se deparado na situação de ter que trabalhar em vários projetos Flutter e que necessitam rodar em versões diferentes, infelizmente, isso é muito comum no mundo de desenvolvimento de software, por exemplo, recentemente tivemos o lançamento do flutter 3.13 que teve um pequeno **Breaking Change**, por este motivo muitos projetos que estão na versão 3.10 não migraram para a versão estável e para o desenvolvedor que quer testar as novidades do Flutter tem que ficar alternando entre **flutter downgrade** e **flutter upgrade**, para isso são criados Gerenciadores de Versões, desta forma conseguimos deixar configurados qual versão do Flutter cada projeto irá utilizar.

Já falamos aqui sobre o  [**FVM**](https://blog.flutterando.com.br/%C3%A9-do-brasil-fvm-uma-forma-simples-de-gerenciar-as-vers%C3%B5es-do-flutter-6e0999ce8ad9)**(Flutter Version Management)** que é um gerenciador criado por um brasileiro(Leo Farias, Google Developer Experts em Dart) e que utilizei por muitos anos.

Recentemente foi lançado o [**Puro**](https://puro.dev/)  que é um Gerenciador de Versões que pareceu muito legal e com a instalação bem simples.

No próprio site do Puro traz um gráfico fazendo um comparativo entre Setup e Tempo de Instalação do Puro com outras formas de se instalar o Flutter e ele mostra um ganho de mais de 50% (sempre desconfiem desses benchmarks).

![](https://cdn-images-1.medium.com/max/800/1*Ziw656Wjaz8CUeTeNdgw9w.png)

Também mostra um comparativo de gasto de download e economia de espaço de disco.

![](https://cdn-images-1.medium.com/max/800/1*Cy3zSTKnhPCJlF4Rng7VkA.png)

Então vamos ver como fazemos para instalar e utilizá-lo.

A primeira dependência que precisamos resolver (caso ainda não conheça deveria aprender) é a instalação do git em sua máquina que é bastante simples.

![](https://cdn-images-1.medium.com/max/800/1*O8nRk1MZf3Zr-N0cb-1kjQ.png)

Se você como eu é um usuário do Windows recomendo utilizar o [chocolatey](https://chocolatey.org/) para instalação de pacotes dentro do Windows, para instalar o chocolatey basta executar o PowerShell como administrador.

![](https://cdn-images-1.medium.com/max/800/1*JiGrWpqny4Xu-yzqtcCXJQ.png)

E executar o comando:

> **_Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString(‘https://community.chocolatey.org/install.ps1'))_**

![](https://cdn-images-1.medium.com/max/800/1*xhWy191H_vsvF4GKKalWxQ.png)

Para confirmar execute **choco -v**

![](https://cdn-images-1.medium.com/max/800/1*Vr_VXI23Z28AvN6Yu-2K9g.png)

Pronto o chocolatey está instalado! agora podemos simplesmente instalar o **git** executando.

> **choco install git**

e depois confirme com **Y**.

![](https://cdn-images-1.medium.com/max/800/1*pzes43vHdWVUd3vX3bUSsg.png)

Reinicie o PowerShell e execute **git -v** para confirmar a instalação.

![](https://cdn-images-1.medium.com/max/800/1*s7N10j5-gUCek4l9f4jS7w.png)

Agora para a instalação do Puro basta executarmos no PowerShell (**desta vez não execute como administrador**) o comando:

> **Invoke-WebRequest -Uri “https://puro.dev/builds/1.3.5/windows-x64/puro.exe" -OutFile “$env:temp\puro.exe”; &”$env:temp\puro.exe” install-puro –promote**

![](https://cdn-images-1.medium.com/max/800/1*5lN_A_89YGv1pcqSDauLbQ.png)

Com isso ele já irá configurar automaticamente suas variáveis de ambiente.

![](https://cdn-images-1.medium.com/max/800/1*SfOF691BwUcF_LA1fImbtw.png)

Pronto agora já podemos utilizar o Puro!

![](https://cdn-images-1.medium.com/max/800/1*aamW9EuuxWDs85aT_WuVWQ.png)

Agora podemos criar um novo ambiente utilizando o comando **create**.

![](https://cdn-images-1.medium.com/max/800/1*2wBo5jAiiU4ebKsA_C4sbw.png)

O comando é composto por:

> **puro create nome_da_versao versao_do_flutter**

Lembrando que o **nome_da_versao** deve começar com uma letra.

![](https://cdn-images-1.medium.com/max/800/1*ImB4sU4kuahOhFHl6df7BA.png)

Para listar as versões instaladas, basta executar: **puro ls**

![](https://cdn-images-1.medium.com/max/800/1*KUnxPpqJC-YHHmfWK5Q_eQ.png)

Para setarmos a versão globalmente no sistema operacional iremos utilizar

> **puro use -g nome_da_versao**

![](https://cdn-images-1.medium.com/max/800/1*Fjr4CJYy2v3iOLP78kjWEQ.png)

Você também pode setar uma versão diferente dentro de um projeto, sendo diferente da versão global, para isso execute: **puro use nome_da_versao**

![](https://cdn-images-1.medium.com/max/800/1*bYfl2LkiKbFq9-b2iIhuIg.png)

Isso permitirá que utilize versões diferentes em projetos diferentes, sem ter que ficar executando **downgrade** e **upgrade**.

![](https://cdn-images-1.medium.com/max/800/1*rRgMa3Q_Yt68Hh6afGfHQw.png)

Eu particularmente achei muito simples e útil o Puro, mas claro que isso só trará ganhos se você trabalha em mais de um projeto com versões diferentes, que é o caso de vários desenvolvedores.

Vale lembrar que o Puro é um projeto recente, então usem com cautela!

Vlw

😊


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/obcg0d2y00yddve9quky.png)


Entre em nosso discord para interagir com a comunidade: flutterbrasil.com.br