A Gestão de Versões do Flutter (FVM) é uma ferramenta essencial para desenvolvedores Flutter que simplifica o processo de gerenciamento de várias versões do SDK Flutter em diferentes projetos. À medida que o Flutter evolui rapidamente com atualizações frequentes, ter um sistema robusto de gerenciamento de versões se torna crucial para manter a estabilidade do projeto. Este guia abrangente irá orientá-lo sobre tudo o que você precisa saber sobre o FVM, desde a instalação até cenários de uso avançado.
Enquanto desenvolve aplicações Flutter, você muitas vezes precisará testar e interagir com APIs. O Apidog é uma excelente alternativa ao Postman que oferece um conjunto abrangente de recursos para desenvolvimento e teste de APIs.
Por que considerar o Apidog?
O Apidog proporciona uma experiência simplificada com recursos que tornam o teste de APIs mais eficiente:
- Plataforma Tudo-em-um: Documentação de API, design, depuração, testes automatizados e simulação em uma única ferramenta
- Interface Intuitiva: Design amigável com poderosas funcionalidades
- Servidor Simulado Integrado: Crie APIs simuladas sem escrever código

4. Recursos de Colaboração: Colaboração em equipe em tempo real com atualizações sincronizadas
5. Suporte a OpenAPI: Importe e exporte especificações OpenAPI sem dificuldades
6. Documentação Auto-gerada: Crie documentos de API bonitos e interativos automaticamente

7. Capacidade Avançada de Testes: Crie cenários de teste complexos com poderosos scripts
Por que você precisa da Gestão de Versões do Flutter
Antes de mergulhar nos detalhes técnicos, vamos entender por que o FVM é importante para os desenvolvedores Flutter:
- Versões do Flutter Específicas para Projetos: Projetos diferentes podem exigir diferentes versões do SDK Flutter com base na compatibilidade de pacotes ou requisitos do cliente.
- Consistência na Equipe: Garante que todos os membros da equipe usem a mesma versão do Flutter, eliminando problemas do tipo "funciona na minha máquina".
- Troca Fácil de SDK: Altere rapidamente entre canais estáveis, beta ou dev sem reinstalações que consomem tempo.
- Suporte a Múltiplos Projetos: Trabalhe em vários projetos simultaneamente sem conflitos de versão.
- Testando Novos Lançamentos: Experimente novos lançamentos do Flutter de forma segura, sem afetar seus projetos de produção estáveis.
Instalação
Vamos começar instalando o FVM em seu sistema. O processo de instalação difere um pouco dependendo do seu sistema operacional:
Para macOS:
Usando Homebrew:
brew tap leoafarias/fvm
brew install fvm
Usando script de instalação:
curl -fsSL https://fvm.app/install.sh | bash
Para Windows:
Usando Chocolatey:
choco install fvm
Ou baixe o pacote autônomo do repositório FVM no GitHub.
Para Linux:
Usando o script de instalação:
curl -fsSL https://fvm.app/install.sh | bash
Ativação Global
Após instalar o FVM, ative-o globalmente:
dart pub global activate fvm
Comandos e Uso Básico do FVM
Agora que você instalou o FVM, vamos explorar os comandos essenciais para gerenciar versões do SDK Flutter.
Instalando Versões do Flutter
Para instalar uma versão específica do Flutter:
fvm install 3.16.0
Você também pode instalar um canal específico:
fvm install stable
fvm install beta
fvm install dev
Para usuários avançados, você pode até instalar um commit específico usando o hash do commit do git:
fvm install fa345b1 # Hash curto
fvm install 476ad8a917e64e345f05e4147e573e2a42b379f9 # Hash longo
Definindo uma Versão do Flutter para Seu Projeto
Para definir uma versão específica do Flutter para seu projeto, navegue até o diretório do seu projeto e execute:
fvm use 3.16.0
Este comando cria uma pasta .fvm
em seu projeto e configura um link simbólico para o SDK Flutter especificado.
Para usar a versão mais recente de um canal específico:
fvm use stable
Se você quiser fixar o canal em sua versão atual (evitando atualizações automáticas):
fvm use stable --pin
Listando Versões Instaladas
Para ver todas as versões do Flutter que você instalou via FVM:
fvm list
Alternativamente, você pode usar a forma abreviada:
fvm ls
Visualizando Lançamentos Disponíveis do Flutter
Para visualizar todos os lançamentos disponíveis do SDK Flutter:
fvm releases
Para filtrar lançamentos por canal:
fvm releases --channel beta
Removendo uma Versão do Flutter
Quando você não precisar mais de uma versão específica do Flutter:
fvm remove 3.16.0
Definindo uma Versão Global do Flutter
Para definir uma versão global do Flutter a ser usada em todo o seu sistema:
fvm global 3.16.0
Para desvincular a versão global:
fvm global --unlink
Configuração do Projeto
Depois de configurar o FVM para seu projeto, você precisará configurar seu ambiente de desenvolvimento para usar o SDK Flutter gerenciado pelo FVM.
Atualizando o .gitignore
O FVM cria um link simbólico em .fvm/flutter_sdk
que aponta para o cache da versão do Flutter selecionada. Adicione isso ao seu .gitignore
:
.fvm/flutter_sdk
Configurações do IDE
VS Code
Crie ou atualize .vscode/settings.json
em seu projeto com o seguinte:
{
"dart.flutterSdkPath": ".fvm/flutter_sdk",
// Remover arquivos .fvm da busca
"search.exclude": {
"**/.fvm": true
},
// Remover da vigilância de arquivos
"files.watcherExclude": {
"**/.fvm": true
}
}
Android Studio
- Vá para Languages & Frameworks > Flutter
- Altere o caminho do SDK do Flutter para o caminho absoluto do seu link simbólico do FVM (por exemplo,
/caminho-absoluto-do-projeto/.fvm/flutter_sdk
) - Aplique as alterações e reinicie o Android Studio
Para ignorar o diretório raiz do SDK do Flutter dentro do Android Studio, adicione isto ao .idea/workspace.xml
:
<component name="VcsManagerConfiguration">
<ignored-roots>
<path value="$PROJECT_DIR$/.fvm/flutter_sdk" />
</ignored-roots>
</component>
XCode
Se você estiver trabalhando em iOS, abra o Xcode, vá para Build phases e adicione isso em Run script:
export FLUTTER_ROOT="$PROJECT_DIR/../.fvm/flutter_sdk"
Recursos Avançados do FVM
Flavors de Projeto
O FVM suporta flavors de projeto, permitindo que diferentes partes de sua aplicação usem diferentes versões do SDK Flutter:
fvm use 3.16.0 --flavor production
fvm use 3.10.0 --flavor development
Para alternar entre flavors:
fvm use production
fvm use development
Para executar um comando Flutter com um flavor específico:
fvm flavor production flutter build
Executando Comandos Flutter com Versões Específicas
O comando spawn
permite executar comandos Flutter com uma versão específica do SDK:
fvm spawn 3.16.0 flutter build
fvm spawn 3.10.0 flutter test
Executando Comandos com a Versão do Flutter do Projeto
O comando exec
executa comandos ou scripts usando a versão do Flutter configurada do projeto:
fvm exec melos bootstrap
fvm exec caminho/para/script.sh
Trabalhando com o FVM em Ambientes CI/CD
Para integração contínua, adicione estas etapas ao seu fluxo de trabalho:
- Instale o FVM
- Execute
fvm install
- Use
fvm flutter <comando>
para executar comandos Flutter
Exemplo para GitHub Actions:
steps:
- uses: actions/checkout@v3
- name: Instalar FVM
run: |
dart pub global activate fvm
fvm install
- name: Construir e Testar
run: |
fvm flutter pub get
fvm flutter test
Melhores Práticas para Usar o FVM
- Sempre use o FVM para comandos Flutter - Execute comandos Flutter através do FVM (por exemplo,
fvm flutter pub get
) para garantir consistência. - Inclua a versão do FVM na documentação do projeto - Documente a versão do Flutter necessária em seu README para ajudar novos membros da equipe.
- Bloqueie a versão do Flutter em CI/CD - Garanta que seu pipeline de integração contínua use a mesma versão do Flutter que seu ambiente de desenvolvimento.
- Considere usar
--pin
para estabilidade - Ao usar um canal como 'estável', considere fixá-lo para evitar atualizações automáticas. - Limpeza regular do cache - Remova periodicamente versões do Flutter não utilizadas com
fvm remove
para economizar espaço em disco.
Resolvendo Problemas Comuns
Versão do FVM Não Reconhecida
Se seu IDE não estiver reconhecendo a versão do Flutter definida pelo FVM:
- Certifique-se de que o caminho do SDK Flutter está corretamente definido nas configurações do seu IDE
- Reinicie seu IDE após alterações na configuração
- Verifique se o link simbólico foi criado corretamente com
ls -la .fvm/flutter_sdk
Problemas de Permissão
Se você encontrar erros de permissão:
- Em sistemas baseados em Unix, tente
sudo fvm <comando>
- Verifique as permissões da pasta do diretório de cache do FVM
Problemas de Caminho
Se os comandos Flutter não forem encontrados após usar o FVM:
- Certifique-se de que o caminho do SDK Flutter está no seu PATH do sistema
- Use caminhos absolutos para o SDK Flutter em seus scripts
Conclusão
A Gestão de Versões do Flutter (FVM) é uma ferramenta indispensável para o desenvolvimento moderno com Flutter. Ao permitir o controle preciso sobre as versões do SDK Flutter em diferentes projetos, elimina problemas de compatibilidade e garante consistência entre as equipes de desenvolvimento.
Começando pelos fundamentos da instalação e progredindo para recursos avançados como flavors de projeto, este guia cobriu os aspectos essenciais para usar o FVM de forma eficaz. Ao incorporar o FVM ao seu fluxo de trabalho de desenvolvimento Flutter, você pode aumentar a produtividade, manter a estabilidade do projeto e colaborar sem problemas com os membros da equipe.
Lembre-se sempre de executar os comandos Flutter através do FVM para garantir a consistência das versões e evitar comportamentos inesperados. Com o uso adequado do FVM, você pode trabalhar com confiança em vários projetos Flutter com diferentes requisitos de SDK e experimentar facilmente novas versões do Flutter sem afetar seu código de produção.
Feliz programação Flutter com o FVM!