Gestion des versions de Flutter (FVM) : Explication

Ce guide complet vous explique FVM : installation, jusqu'aux cas d'utilisation avancés.

Louis Dupont

Louis Dupont

5 June 2025

Gestion des versions de Flutter (FVM) : Explication

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 :

  1. Plateforme tout-en-un : documentation, conception, débogage, tests automatisés et simulation d'API dans un seul outil
  2. Interface intuitive : conception conviviale avec des capacités puissantes
  3. 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

button

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 :

  1. 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.
  2. 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 ».
  3. Changement de SDK facile : basculez rapidement entre les canaux stable, bêta ou dev sans réinstallations fastidieuses.
  4. Prise en charge de plusieurs projets : travaillez simultanément sur divers projets sans conflits de versions.
  5. 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

  1. Accédez à Languages & Frameworks > Flutter
  2. Remplacez le chemin du SDK Flutter par le chemin absolu de votre lien symbolique FVM (par exemple, /absolute-project-path/.fvm/flutter_sdk)
  3. 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 :

  1. Installez FVM
  2. Exécutez fvm install
  3. 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

  1. 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.
  2. 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.
  3. 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.
  4. Envisagez d'utiliser --pin pour la stabilité - Lorsque vous utilisez un canal comme « stable », envisagez de l'épingler pour éviter les mises à jour automatiques.
  5. 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 :

  1. Assurez-vous que le chemin du SDK Flutter est correctement défini dans les paramètres de votre IDE
  2. Redémarrez votre IDE après les modifications de configuration
  3. 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 :

  1. Sur les systèmes basés sur Unix, essayez sudo fvm <command>
  2. 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 :

  1. Assurez-vous que le chemin du SDK Flutter est dans votre PATH système
  2. 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 !

Explore more

Fathom-R1-14B : Modèle de raisonnement IA avancé d'Inde

Fathom-R1-14B : Modèle de raisonnement IA avancé d'Inde

L'IA en expansion rapide. Fathom-R1-14B (14,8 milliards de paramètres) excelle en raisonnement mathématique et général, conçu par Fractal AI Research.

5 June 2025

Mistral Code : L'assistant de codage le plus personnalisable basé sur l'IA pour les entreprises

Mistral Code : L'assistant de codage le plus personnalisable basé sur l'IA pour les entreprises

Découvrez Mistral Code, l'IA d'aide au code la plus personnalisable pour les entreprises.

5 June 2025

Comment Claude Code transforme le codage de l'IA en 2025

Comment Claude Code transforme le codage de l'IA en 2025

Découvrez Claude Code en 2025 : codage IA révolutionné. Fonctionnalités, démo, et pourquoi il gagne du terrain après Windsurf d'Anthropic. Indispensable !

5 June 2025

Pratiquez le Design-first d'API dans Apidog

Découvrez une manière plus simple de créer et utiliser des API