Flutter Version Management (FVM) est un outil essentiel pour les développeurs Flutter qui simplifie le processus de gestion de plusieurs versions du SDK Flutter sur différents projets. Flutter évoluant rapidement avec des mises à jour fréquentes, la mise en place d'un système de gestion de versions robuste devient cruciale pour maintenir la stabilité du projet. Ce guide complet vous expliquera tout ce que vous devez savoir sur FVM, de l'installation aux scénarios d'utilisation avancés.
Lors du développement d'applications Flutter, vous devrez souvent tester et interagir avec des API. Apidog est une excellente alternative à Postman qui offre un ensemble complet de fonctionnalités pour le développement et les tests d'API.
Pourquoi envisager Apidog ?
Apidog offre une expérience simplifiée avec des fonctionnalités qui rendent les tests d'API plus efficaces :
- Plateforme tout-en-un : documentation, conception, débogage, tests automatisés et simulation d'API dans un seul outil
- Interface intuitive : conception conviviale avec des capacités puissantes
- Serveur de simulation intégré : créez des API simulées sans écrire de code

4. Fonctionnalités de collaboration : collaboration d'équipe en temps réel avec des mises à jour synchronisées
5. Prise en charge d'OpenAPI : importez et exportez les spécifications OpenAPI de manière transparente
6. Documentation générée automatiquement : créez automatiquement des documents d'API interactifs et attrayants

7. Capacité de test avancée : créez des scénarios de test complexes avec un script puissant
Pourquoi vous avez besoin de Flutter Version Management
Avant de plonger dans les détails techniques, comprenons pourquoi FVM est important pour les développeurs Flutter :
- Versions Flutter spécifiques au projet : différents projets peuvent nécessiter différentes versions du SDK Flutter en fonction de la compatibilité des packages ou des exigences du client.
- Cohérence de l'équipe : garantit que tous les membres de l'équipe utilisent la même version de Flutter, éliminant les problèmes de type « fonctionne sur ma machine ».
- Changement de SDK facile : basculez rapidement entre les canaux stable, bêta ou dev sans réinstallations fastidieuses.
- Prise en charge de plusieurs projets : travaillez simultanément sur divers projets sans conflits de versions.
- Tests de nouvelles versions : expérimentez en toute sécurité de nouvelles versions de Flutter sans affecter vos projets de production stables.
Installation
Commençons par installer FVM sur votre système. Le processus d'installation diffère légèrement selon votre système d'exploitation :
Pour macOS :
En utilisant Homebrew :
brew tap leoafarias/fvm
brew install fvm
En utilisant le script d'installation :
curl -fsSL https://fvm.app/install.sh | bash
Pour Windows :
En utilisant Chocolatey :
choco install fvm
Ou téléchargez le package autonome depuis le dépôt FVM GitHub.
Pour Linux :
En utilisant le script d'installation :
curl -fsSL https://fvm.app/install.sh | bash
Activation globale
Après avoir installé FVM, activez-le globalement :
dart pub global activate fvm
Commandes et utilisation de base de FVM
Maintenant que vous avez installé FVM, explorons les commandes essentielles pour gérer les versions du SDK Flutter.
Installation des versions de Flutter
Pour installer une version spécifique de Flutter :
fvm install 3.16.0
Vous pouvez également installer un canal spécifique :
fvm install stable
fvm install beta
fvm install dev
Pour les utilisateurs avancés, vous pouvez même installer un commit spécifique en utilisant le hachage de commit git :
fvm install fa345b1 # Short hash
fvm install 476ad8a917e64e345f05e4147e573e2a42b379f9 # Long hash
Définition d'une version Flutter pour votre projet
Pour définir une version Flutter spécifique pour votre projet, accédez à votre répertoire de projet et exécutez :
fvm use 3.16.0
Cette commande crée un dossier .fvm
dans votre projet et configure un lien symbolique vers le SDK Flutter spécifié.
Pour utiliser la dernière version d'un canal spécifique :
fvm use stable
Si vous souhaitez épingler le canal à sa version actuelle (empêchant les mises à jour automatiques) :
fvm use stable --pin
Liste des versions installées
Pour voir toutes les versions de Flutter que vous avez installées via FVM :
fvm list
Alternativement, vous pouvez utiliser l'abréviation :
fvm ls
Affichage des versions Flutter disponibles
Pour afficher toutes les versions du SDK Flutter disponibles :
fvm releases
Pour filtrer les versions par canal :
fvm releases --channel beta
Suppression d'une version Flutter
Lorsque vous n'avez plus besoin d'une version spécifique de Flutter :
fvm remove 3.16.0
Définition d'une version Flutter globale
Pour définir une version Flutter globale à utiliser sur votre système :
fvm global 3.16.0
Pour supprimer le lien de la version globale :
fvm global --unlink
Configuration du projet
Après avoir configuré FVM pour votre projet, vous devrez configurer votre environnement de développement pour utiliser le SDK Flutter géré par FVM.
Mise à jour de .gitignore
FVM crée un lien symbolique à .fvm/flutter_sdk
qui pointe vers le cache de votre version Flutter sélectionnée. Ajoutez ceci à votre .gitignore
:
.fvm/flutter_sdk
Configurations IDE
VS Code
Créez ou mettez à jour .vscode/settings.json
dans votre projet avec ce qui suit :
{
"dart.flutterSdkPath": ".fvm/flutter_sdk",
// Remove .fvm files from search
"search.exclude": {
"**/.fvm": true
},
// Remove from file watching
"files.watcherExclude": {
"**/.fvm": true
}
}
Android Studio
- Accédez à Languages & Frameworks > Flutter
- Remplacez le chemin du SDK Flutter par le chemin absolu de votre lien symbolique FVM (par exemple,
/absolute-project-path/.fvm/flutter_sdk
) - Appliquez les modifications et redémarrez Android Studio
Pour ignorer le répertoire racine du SDK Flutter dans Android Studio, ajoutez ceci à .idea/workspace.xml
:
<component name="VcsManagerConfiguration">
<ignored-roots>
<path value="$PROJECT_DIR$/.fvm/flutter_sdk" />
</ignored-roots>
</component>
XCode
Si vous travaillez sur iOS, ouvrez Xcode, accédez à Build phases et ajoutez ceci dans Run script :
export FLUTTER_ROOT="$PROJECT_DIR/../.fvm/flutter_sdk"
Fonctionnalités avancées de FVM
Saveurs de projet
FVM prend en charge les saveurs de projet, ce qui permet à différentes parties de votre application d'utiliser différentes versions du SDK Flutter :
fvm use 3.16.0 --flavor production
fvm use 3.10.0 --flavor development
Pour basculer entre les saveurs :
fvm use production
fvm use development
Pour exécuter une commande Flutter avec une saveur spécifique :
fvm flavor production flutter build
Exécution de commandes Flutter avec des versions spécifiques
La commande spawn
vous permet d'exécuter des commandes Flutter avec une version spécifique du SDK :
fvm spawn 3.16.0 flutter build
fvm spawn 3.10.0 flutter test
Exécution de commandes avec la version Flutter du projet
La commande exec
exécute des commandes ou des scripts en utilisant la version Flutter configurée du projet :
fvm exec melos bootstrap
fvm exec path/to/script.sh
Travailler avec FVM dans les environnements CI/CD
Pour l'intégration continue, ajoutez ces étapes à votre flux de travail :
- Installez FVM
- Exécutez
fvm install
- Utilisez
fvm flutter <command>
pour exécuter les commandes Flutter
Exemple pour GitHub Actions :
steps:
- uses: actions/checkout@v3
- name: Install FVM
run: |
dart pub global activate fvm
fvm install
- name: Build and Test
run: |
fvm flutter pub get
fvm flutter test
Meilleures pratiques pour l'utilisation de FVM
- Utilisez toujours FVM pour les commandes Flutter - Exécutez les commandes Flutter via FVM (par exemple,
fvm flutter pub get
) pour garantir la cohérence. - Incluez la version FVM dans la documentation du projet - Documentez la version Flutter requise dans votre README pour aider les nouveaux membres de l'équipe.
- Verrouillez la version Flutter dans CI/CD - Assurez-vous que votre pipeline d'intégration continue utilise la même version de Flutter que votre environnement de développement.
- Envisagez d'utiliser
--pin
pour la stabilité - Lorsque vous utilisez un canal comme « stable », envisagez de l'épingler pour éviter les mises à jour automatiques. - Nettoyage régulier du cache - Supprimez périodiquement les versions Flutter inutilisées avec
fvm remove
pour économiser de l'espace disque.
Dépannage des problèmes courants
Version FVM non reconnue
Si votre IDE ne reconnaît pas la version Flutter définie par FVM :
- Assurez-vous que le chemin du SDK Flutter est correctement défini dans les paramètres de votre IDE
- Redémarrez votre IDE après les modifications de configuration
- Vérifiez que le lien symbolique est correctement créé avec
ls -la .fvm/flutter_sdk
Problèmes de permission
Si vous rencontrez des erreurs d'autorisation :
- Sur les systèmes basés sur Unix, essayez
sudo fvm <command>
- Vérifiez les autorisations des dossiers pour le répertoire du cache FVM
Problèmes de chemin d'accès
Si les commandes Flutter ne sont pas trouvées après l'utilisation de FVM :
- Assurez-vous que le chemin du SDK Flutter est dans votre PATH système
- Utilisez des chemins absolus vers le SDK Flutter dans vos scripts
Conclusion
Flutter Version Management (FVM) est un outil indispensable pour le développement Flutter moderne. En permettant un contrôle précis sur les versions du SDK Flutter sur différents projets, il élimine les problèmes de compatibilité et assure la cohérence entre les équipes de développement.
En commençant par les bases de l'installation et en passant aux fonctionnalités avancées comme les saveurs de projet, ce guide a couvert les aspects essentiels de l'utilisation efficace de FVM. En intégrant FVM dans votre flux de travail de développement Flutter, vous pouvez améliorer la productivité, maintenir la stabilité du projet et collaborer de manière transparente avec les membres de l'équipe.
N'oubliez pas d'exécuter toujours les commandes Flutter via FVM pour garantir la cohérence des versions et éviter les comportements inattendus. Avec une utilisation appropriée de FVM, vous pouvez travailler en toute confiance sur plusieurs projets Flutter avec différentes exigences de SDK et expérimenter facilement de nouvelles versions de Flutter sans affecter votre code de production.
Bon codage Flutter avec FVM !