Kelola Multi Versi Flutter dengan FVM
FVM (Flutter Version Management) memecahkan masalah klasik: proyek A butuh Flutter 3.x, proyek B masih 2.x, sementara tim dan CI perlu konsisten. FVM memungkinkan setiap proyek “terkunci” pada versi Flutter tertentu tanpa mengganggu global install.
Apa manfaatnya?
- Versi per proyek (isolasi): tidak saling bentrok.
- Stabil di CI: versi terkunci, build reproducible.
- Mudah pindah versi:
fvm use <versi>.
1) Instalasi FVM
Prasyarat: Dart SDK tersedia (biasanya ikut Flutter). Pastikan path ke Dart/Flutter sudah aktif.
Metode via Dart Pub (lintas OS):
dart pub global activate fvm
Tambahkan global executables ke PATH:
macOS/Linux
echo 'export PATH="$HOME/.pub-cache/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
Windows
Tambahkan ke Path (User env):
%USERPROFILE%\AppData\Local\Pub\Cache\bin
Cek versi:
fvm --version
Catatan: Beberapa distro/OS juga menyediakan FVM via package manager (mis. Homebrew). Gunakan jika sesuai kebijakan tim.
2) Konsep Dasar & Alur Kerja
- Instal versi Flutter tertentu:
fvm install stable # atau: fvm install 3.24.0
fvm list # lihat versi yang tersedia/terpasang
- Set versi di proyek (membuat folder
.fvm/):
cd path/ke/proyek
fvm use stable # kunci proyek ke kanal/versi ini
- Jalankan perintah Flutter lewat FVM (per proyek):
fvm flutter doctor
fvm flutter pub get
fvm flutter run
- Set versi global (opsional):
fvm global stable
Struktur proyek (ringkas):
.fvm/flutter_sdk→ symlink/dir ke SDK versi yang dipilih.fvm/fvm_config.json→ metadata versi proyek
3) Integrasi Editor/IDE
VS Code
- Install extension Dart & Flutter.
- Di
settings.json, atur SDK per proyek:
{
"dart.flutterSdkPath": ".fvm/flutter_sdk"
}
Android Studio/IntelliJ
- Preferences → Languages & Frameworks → Flutter → Flutter SDK path → arahkan ke
.fvm/flutter_sdkdi root proyek.
Keuntungan: Editor menggunakan versi yang sama dengan CLI proyek (reproducible).
4) Contoh GitHub Actions (CI)
Tujuan: pastikan CI memakai versi yang sama dengan proyek dan cache agar cepat.
Contoh potongan langkah (ringkas):
steps:
- uses: actions/checkout@v4
- name: Setup Java (untuk Android build)
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "17"
- name: Install FVM
run: |
dart pub global activate fvm
echo "${HOME}/.pub-cache/bin" >> $GITHUB_PATH
- name: Install Flutter via FVM
run: |
fvm install
fvm flutter --version
- name: Dependencies
run: fvm flutter pub get
- name: Analyze & Test
run: |
fvm flutter analyze
fvm flutter test
Tambahkan cache pub/Gradle agar lebih cepat sesuai kebutuhan workflow.
5) Troubleshooting
fvm: command not found- PATH ke
.pub-cache/binbelum aktif. Reload terminal atau cek env.
- PATH ke
- Editor masih pakai Flutter global
- Pastikan SDK path di editor menunjuk
.fvm/flutter_sdk.
- Pastikan SDK path di editor menunjuk
- Versi tak ditemukan saat
fvm install- Cek penulisan versi/kanal (
stable,beta, atau angka versi lengkap).
- Cek penulisan versi/kanal (
Ringkasan
FVM memudahkan tim mengunci versi Flutter per proyek, memastikan konsistensi di mesin lokal dan CI. Gunakan fvm use, jalankan perintah via fvm flutter ..., dan arahkan IDE ke .fvm/flutter_sdk untuk pengalaman yang mulus.
💬 Komentar
⏳ Memuat komentar...
Tulis Komentar