Flutter Version Management (FVM) ist ein unverzichtbares Werkzeug für Flutter-Entwickler, das den Prozess der Verwaltung mehrerer Flutter SDK-Versionen in verschiedenen Projekten rationalisiert. Da sich Flutter mit häufigen Updates rasant weiterentwickelt, ist ein robustes Versionsverwaltungssystem für die Aufrechterhaltung der Projektstabilität von entscheidender Bedeutung. Dieser umfassende Leitfaden führt Sie durch alles, was Sie über FVM wissen müssen, von der Installation bis zu fortgeschrittenen Nutzungsszenarien.
Bei der Entwicklung von Flutter-Anwendungen müssen Sie häufig APIs testen und mit ihnen interagieren. Apidog ist eine ausgezeichnete Alternative zu Postman, die eine umfassende Reihe von Funktionen für die API-Entwicklung und -Tests bietet.
Warum Apidog in Betracht ziehen?
Apidog bietet eine optimierte Erfahrung mit Funktionen, die API-Tests effizienter machen:
- All-in-one Platform: API-Dokumentation, Design, Debugging, automatisierte Tests und Mocking in einem einzigen Tool
- Intuitive Interface: Benutzerfreundliches Design mit leistungsstarken Funktionen
- Built-in Mock Server: Erstellen Sie Mock-APIs, ohne Code zu schreiben

4. Collaboration Features: Echtzeit-Teamzusammenarbeit mit synchronisierten Updates
5. OpenAPI Support: Importieren und exportieren Sie OpenAPI-Spezifikationen nahtlos
6. Auto-generated Documentation: Erstellen Sie automatisch schöne, interaktive API-Dokumente

7. Advanced Testing Capability: Erstellen Sie komplexe Testszenarien mit leistungsstarkem Scripting
Warum Sie Flutter Version Management benötigen
Bevor wir uns mit den technischen Details befassen, wollen wir verstehen, warum FVM für Flutter-Entwickler wichtig ist:
- Project-Specific Flutter Versions: Verschiedene Projekte erfordern möglicherweise unterschiedliche Flutter SDK-Versionen, basierend auf der Paketkompatibilität oder den Kundenanforderungen.
- Team Consistency: Stellt sicher, dass alle Teammitglieder dieselbe Flutter-Version verwenden, wodurch "funktioniert auf meinem Rechner"-Probleme vermieden werden.
- Easy SDK Switching: Wechseln Sie schnell zwischen stabilen, Beta- oder Dev-Kanälen, ohne zeitaufwändige Neuinstallationen.
- Multiple Project Support: Arbeiten Sie gleichzeitig an verschiedenen Projekten, ohne Versionskonflikte.
- Testing New Releases: Experimentieren Sie sicher mit neuen Flutter-Versionen, ohne Ihre stabilen Produktionsprojekte zu beeinträchtigen.
Installation
Beginnen wir mit der Installation von FVM auf Ihrem System. Der Installationsprozess unterscheidet sich geringfügig, je nach Betriebssystem:
Für macOS:
Mit Homebrew:
brew tap leoafarias/fvm
brew install fvm
Mit dem Installationsskript:
curl -fsSL https://fvm.app/install.sh | bash
Für Windows:
Mit Chocolatey:
choco install fvm
Oder laden Sie das eigenständige Paket aus dem FVM GitHub-Repository herunter.
Für Linux:
Mit dem Installationsskript:
curl -fsSL https://fvm.app/install.sh | bash
Globale Aktivierung
Aktivieren Sie es nach der Installation von FVM global:
dart pub global activate fvm
Grundlegende FVM-Befehle und -Verwendung
Nachdem Sie FVM installiert haben, wollen wir die wesentlichen Befehle zur Verwaltung von Flutter SDK-Versionen untersuchen.
Installieren von Flutter-Versionen
So installieren Sie eine bestimmte Flutter-Version:
fvm install 3.16.0
Sie können auch einen bestimmten Kanal installieren:
fvm install stable
fvm install beta
fvm install dev
Für fortgeschrittene Benutzer können Sie sogar einen bestimmten Commit installieren, indem Sie den Git-Commit-Hash verwenden:
fvm install fa345b1 # Short hash
fvm install 476ad8a917e64e345f05e4147e573e2a42b379f9 # Long hash
Festlegen einer Flutter-Version für Ihr Projekt
Um eine bestimmte Flutter-Version für Ihr Projekt festzulegen, navigieren Sie zu Ihrem Projektverzeichnis und führen Sie Folgendes aus:
fvm use 3.16.0
Dieser Befehl erstellt einen .fvm-Ordner in Ihrem Projekt und richtet einen symbolischen Link zum angegebenen Flutter SDK ein.
So verwenden Sie die neueste Version von einem bestimmten Kanal:
fvm use stable
Wenn Sie den Kanal auf seine aktuelle Version festlegen möchten (um automatische Updates zu verhindern):
fvm use stable --pin
Auflisten der installierten Versionen
So sehen Sie alle Flutter-Versionen, die Sie über FVM installiert haben:
fvm list
Alternativ können Sie die Kurzform verwenden:
fvm ls
Anzeigen verfügbarer Flutter-Releases
So zeigen Sie alle verfügbaren Flutter SDK-Releases an:
fvm releases
So filtern Sie Releases nach Kanal:
fvm releases --channel beta
Entfernen einer Flutter-Version
Wenn Sie eine bestimmte Flutter-Version nicht mehr benötigen:
fvm remove 3.16.0
Festlegen einer globalen Flutter-Version
So legen Sie eine globale Flutter-Version fest, die Sie in Ihrem gesamten System verwenden möchten:
fvm global 3.16.0
So heben Sie die Verknüpfung der globalen Version auf:
fvm global --unlink
Projektkonfiguration
Nachdem Sie FVM für Ihr Projekt eingerichtet haben, müssen Sie Ihre Entwicklungsumgebung so konfigurieren, dass sie das von FVM verwaltete Flutter SDK verwendet.
Aktualisieren von .gitignore
FVM erstellt einen symbolischen Link unter .fvm/flutter_sdk, der auf den Cache Ihrer ausgewählten Flutter-Version verweist. Fügen Sie dies zu Ihrem .gitignore hinzu:
.fvm/flutter_sdk
IDE-Konfigurationen
VS Code
Erstellen oder aktualisieren Sie .vscode/settings.json in Ihrem Projekt mit Folgendem:
{
"dart.flutterSdkPath": ".fvm/flutter_sdk",
// Remove .fvm files from search
"search.exclude": {
"**/.fvm": true
},
// Remove from file watching
"files.watcherExclude": {
"**/.fvm": true
}
}
Android Studio
- Gehen Sie zu Languages & Frameworks > Flutter
- Ändern Sie den Flutter SDK-Pfad in den absoluten Pfad Ihres FVM-Symbollinks (z. B.
/absoluter-Projektpfad/.fvm/flutter_sdk) - Übernehmen Sie die Änderungen und starten Sie Android Studio neu
Um das Flutter SDK-Stammverzeichnis in Android Studio zu ignorieren, fügen Sie dies zu .idea/workspace.xml hinzu:
<component name="VcsManagerConfiguration">
<ignored-roots>
<path value="$PROJECT_DIR$/.fvm/flutter_sdk" />
</ignored-roots>
</component>
XCode
Wenn Sie an iOS arbeiten, öffnen Sie Xcode, gehen Sie zu Build phases und fügen Sie dies in Run script ein:
export FLUTTER_ROOT="$PROJECT_DIR/../.fvm/flutter_sdk"
Erweiterte FVM-Funktionen
Projekt-Flavors
FVM unterstützt Projekt-Flavors, sodass verschiedene Teile Ihrer Anwendung unterschiedliche Flutter SDK-Versionen verwenden können:
fvm use 3.16.0 --flavor production
fvm use 3.10.0 --flavor development
So wechseln Sie zwischen Flavors:
fvm use production
fvm use development
So führen Sie einen Flutter-Befehl mit einem bestimmten Flavor aus:
fvm flavor production flutter build
Ausführen von Flutter-Befehlen mit bestimmten Versionen
Mit dem Befehl spawn können Sie Flutter-Befehle mit einer bestimmten SDK-Version ausführen:
fvm spawn 3.16.0 flutter build
fvm spawn 3.10.0 flutter test
Ausführen von Befehlen mit der Flutter-Version des Projekts
Der Befehl exec führt Befehle oder Skripte mit der konfigurierten Flutter-Version des Projekts aus:
fvm exec melos bootstrap
fvm exec path/to/script.sh
Arbeiten mit FVM in CI/CD-Umgebungen
Fügen Sie für die kontinuierliche Integration diese Schritte zu Ihrem Workflow hinzu:
- Installieren Sie FVM
- Führen Sie
fvm installaus - Verwenden Sie
fvm flutter <command>zum Ausführen von Flutter-Befehlen
Beispiel für 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
Best Practices für die Verwendung von FVM
- Verwenden Sie immer FVM für Flutter-Befehle - Führen Sie Flutter-Befehle über FVM aus (z. B.
fvm flutter pub get), um die Konsistenz zu gewährleisten. - Fügen Sie die FVM-Version in die Projektdokumentation ein - Dokumentieren Sie die erforderliche Flutter-Version in Ihrer README, um neuen Teammitgliedern zu helfen.
- Flutter-Version in CI/CD sperren - Stellen Sie sicher, dass Ihre Continuous-Integration-Pipeline dieselbe Flutter-Version verwendet wie Ihre Entwicklungsumgebung.
- Erwägen Sie die Verwendung von
--pinfür Stabilität - Wenn Sie einen Kanal wie 'stable' verwenden, sollten Sie ihn festlegen, um automatische Updates zu vermeiden. - Regelmäßige Cache-Bereinigung - Entfernen Sie in regelmäßigen Abständen nicht verwendete Flutter-Versionen mit
fvm remove, um Speicherplatz zu sparen.
Behebung häufiger Probleme
FVM-Version wird nicht erkannt
Wenn Ihre IDE die von FVM festgelegte Flutter-Version nicht erkennt:
- Stellen Sie sicher, dass der Flutter SDK-Pfad in Ihren IDE-Einstellungen korrekt festgelegt ist
- Starten Sie Ihre IDE nach Konfigurationsänderungen neu
- Überprüfen Sie, ob der symbolische Link mit
ls -la .fvm/flutter_sdkkorrekt erstellt wurde
Berechtigungsprobleme
Wenn Sie auf Berechtigungsfehler stoßen:
- Versuchen Sie unter Unix-basierten Systemen
sudo fvm <command> - Überprüfen Sie die Ordnerberechtigungen für das FVM-Cache-Verzeichnis
Pfadprobleme
Wenn Flutter-Befehle nach der Verwendung von FVM nicht gefunden werden:
- Stellen Sie sicher, dass sich der Flutter SDK-Pfad in Ihrem System-PATH befindet
- Verwenden Sie absolute Pfade zum Flutter SDK in Ihren Skripten
Fazit
Flutter Version Management (FVM) ist ein unverzichtbares Werkzeug für die moderne Flutter-Entwicklung. Indem es die präzise Kontrolle über Flutter SDK-Versionen in verschiedenen Projekten ermöglicht, werden Kompatibilitätsprobleme beseitigt und die Konsistenz in Entwicklungsteams sichergestellt.
Ausgehend von den Grundlagen der Installation und bis hin zu erweiterten Funktionen wie Projekt-Flavors hat dieser Leitfaden die wesentlichen Aspekte der effektiven Verwendung von FVM behandelt. Durch die Integration von FVM in Ihren Flutter-Entwicklungsworkflow können Sie die Produktivität steigern, die Projektstabilität aufrechterhalten und nahtlos mit Teammitgliedern zusammenarbeiten.
Denken Sie daran, Flutter-Befehle immer über FVM auszuführen, um die Versionskonsistenz zu gewährleisten und unerwartetes Verhalten zu vermeiden. Mit der richtigen FVM-Nutzung können Sie zuversichtlich an mehreren Flutter-Projekten mit unterschiedlichen SDK-Anforderungen arbeiten und problemlos mit neuen Flutter-Versionen experimentieren, ohne Ihren Produktionscode zu beeinträchtigen.
Viel Spaß beim Flutter-Codieren mit FVM!



