FVM - Múltiplos SDKs Flutter na mesma maquina
Tags: flutter, programming, git, tutorial
Published: 2022-07-12 02:06:59


Como desenvolvedor você já deve ter passado pela situação de ser necessário possuir múltiplas verões de um determinado SDK em sua maquina. Em algumas tecnologias ( exemplo o .net)  basta instalar os SDKs que eles coexistem sem grandes conflitos, porém, o flutter não permite isso. Contudo, o famoso jeitinho brasileiro deu um jeito, alguns desenvolvedores criaram a ferramenta [FVM - Flutter Version Management](fvm.app), que em miúdos uma ferramenta cli que permite executar diversas versões do SDK do Flutter. Com extrema facilidade de alternar entre os sdk.
Em alguns casos isso pode ocorrer de forma automática se configurado tudo certinho. Em explicação simples, ele baixa as versões em uma determinada pasta e a medida que for solicitado, ele alterna um link global simbólico apontando para a versão do SDKs que precisa executar.

Vamos a mão na massa.

Ele é disponibilizado como um pacote global do [pub.dev](pub.dev/packages/fvm), para proceder a sua instalação primeiro será necessário instalar o dart. 
Aqui a abordagem será usada no Linux

Vamos importar e configurar o repositório do Dart

```
sudo apt-get update

sudo apt-get install apt-transport-https

wget -qO- https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/dart.gpg

echo 'deb [signed-by=/usr/share/keyrings/dart.gpg arch=amd64] https://storage.googleapis.com/download.dartlang.org/linux/debian stable main' | sudo tee /etc/apt/sources.list.d/dart_stable.list

```
Em seguida vamos atualizar os repositórios e fazer a instalação do dart

```
sudo apt-get update

sudo apt-get install dart

```

Para maiores informações sobre como proceder a instalação do dar consulte a [documentação oficial](https://dart.dev/get-dart).

Feito isso, vamos a instalação do FVM

```
dart pub global activate fvm

```


Pode ser necessário configurar o PATCH no Ubuntu para que os comandos seja reconhecidos, caso seja necessário edite o arquivo .profile na pasta home com o conteúdo abaixo no final do arquivo

```
# abrir o arquivo 
nano ~/.profile

# Conteúdo a ser adicionado no final do arquivo
export PATH="$PATH":"$HOME/fvm/default/bin"

```
![PATH FVM](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9mdep3b6ko7jwb6w49p7.png)
 


Agora vamos a instalação e configuração do SDK que será usado por padrão pelo sistema, neste caso recomendo a versão estável do flutter.

```
 fvm install stable

 fvm global stable

```
após instalado, podemos usar o flutter normalmente usando chamando diretamente ou através do comando do FVM, para uma lista de comando mais detalhadas consulte a [documentação](https://fvm.app/docs/guides/basic_commands).



Caso para instalar versões especificas do SDK do flutter, basta utilizar o comando acima subsistido stable pela versão que deseja. Para ver as verões disponíveis utilize o comando abaixo.



```
 fvm releases

```
Para alternar as versões de uso do SDK basta utilizar o comando abaixo. 

```
 fvm use XXX
```
Obs: lembrado que quando instalar uma versão anterior, não rode o comando de atualização do SDK do flutter. Isso fará com que quebre o funcionamento do FVM.