Flutter Version Management (FVM) es una herramienta esencial para los desarrolladores de Flutter que agiliza el proceso de gestión de múltiples versiones del SDK de Flutter en diferentes proyectos. A medida que Flutter evoluciona rápidamente con actualizaciones frecuentes, tener un sistema de gestión de versiones robusto se vuelve crucial para mantener la estabilidad del proyecto. Esta guía completa te guiará a través de todo lo que necesitas saber sobre FVM, desde la instalación hasta escenarios de uso avanzados.
Mientras desarrollas aplicaciones Flutter, a menudo necesitarás probar e interactuar con APIs. Apidog es una excelente alternativa a Postman que ofrece un conjunto completo de características para el desarrollo y las pruebas de APIs.
¿Por qué considerar Apidog?
Apidog proporciona una experiencia optimizada con características que hacen que las pruebas de API sean más eficientes:
- Plataforma todo en uno: Documentación de API, diseño, depuración, pruebas automatizadas y simulación en una sola herramienta
- Interfaz intuitiva: Diseño fácil de usar con capacidades potentes
- Servidor Mock integrado: Crea APIs simuladas sin escribir código

4. Características de colaboración: Colaboración en equipo en tiempo real con actualizaciones sincronizadas
5. Soporte de OpenAPI: Importa y exporta especificaciones de OpenAPI sin problemas
6. Documentación autogenerada: Crea documentación de API interactiva y atractiva automáticamente

7. Capacidad de prueba avanzada: Crea escenarios de prueba complejos con scripts potentes
Por qué necesitas la gestión de versiones de Flutter
Antes de sumergirnos en los detalles técnicos, comprendamos por qué FVM es importante para los desarrolladores de Flutter:
- Versiones de Flutter específicas del proyecto: Diferentes proyectos pueden requerir diferentes versiones del SDK de Flutter según la compatibilidad del paquete o los requisitos del cliente.
- Consistencia del equipo: Garantiza que todos los miembros del equipo utilicen la misma versión de Flutter, eliminando los problemas de "funciona en mi máquina".
- Fácil cambio de SDK: Cambia rápidamente entre canales estables, beta o de desarrollo sin reinstalaciones que consumen mucho tiempo.
- Soporte para múltiples proyectos: Trabaja en varios proyectos simultáneamente sin conflictos de versión.
- Prueba de nuevas versiones: Experimenta de forma segura con nuevas versiones de Flutter sin afectar tus proyectos de producción estables.
Instalación
Comencemos instalando FVM en tu sistema. El proceso de instalación difiere ligeramente según tu sistema operativo:
Para macOS:
Usando Homebrew:
brew tap leoafarias/fvm
brew install fvm
Usando el script de instalación:
curl -fsSL https://fvm.app/install.sh | bash
Para Windows:
Usando Chocolatey:
choco install fvm
O descarga el paquete independiente del repositorio de FVM en GitHub.
Para Linux:
Usando el script de instalación:
curl -fsSL https://fvm.app/install.sh | bash
Activación global
Después de instalar FVM, actívalo globalmente:
dart pub global activate fvm
Comandos básicos de FVM y uso
Ahora que tienes FVM instalado, exploremos los comandos esenciales para administrar las versiones del SDK de Flutter.
Instalación de versiones de Flutter
Para instalar una versión específica de Flutter:
fvm install 3.16.0
También puedes instalar un canal específico:
fvm install stable
fvm install beta
fvm install dev
Para usuarios avanzados, incluso puedes instalar un commit específico utilizando el hash de commit de git:
fvm install fa345b1 # Short hash
fvm install 476ad8a917e64e345f05e4147e573e2a42b379f9 # Long hash
Establecer una versión de Flutter para tu proyecto
Para establecer una versión específica de Flutter para tu proyecto, navega al directorio de tu proyecto y ejecuta:
fvm use 3.16.0
Este comando crea una carpeta .fvm
en tu proyecto y configura un enlace simbólico al SDK de Flutter especificado.
Para usar la última versión de un canal específico:
fvm use stable
Si deseas fijar el canal a su versión actual (evitando actualizaciones automáticas):
fvm use stable --pin
Listado de versiones instaladas
Para ver todas las versiones de Flutter que has instalado a través de FVM:
fvm list
Alternativamente, puedes usar la abreviatura:
fvm ls
Visualización de versiones de Flutter disponibles
Para ver todas las versiones disponibles del SDK de Flutter:
fvm releases
Para filtrar versiones por canal:
fvm releases --channel beta
Eliminación de una versión de Flutter
Cuando ya no necesites una versión específica de Flutter:
fvm remove 3.16.0
Establecer una versión global de Flutter
Para establecer una versión global de Flutter para usar en todo tu sistema:
fvm global 3.16.0
Para desvincular la versión global:
fvm global --unlink
Configuración del proyecto
Después de configurar FVM para tu proyecto, deberás configurar tu entorno de desarrollo para usar el SDK de Flutter administrado por FVM.
Actualización de .gitignore
FVM crea un enlace simbólico en .fvm/flutter_sdk
que apunta a la caché de la versión de Flutter seleccionada. Agrega esto a tu .gitignore
:
.fvm/flutter_sdk
Configuraciones de IDE
VS Code
Crea o actualiza .vscode/settings.json
en tu proyecto con lo siguiente:
{
"dart.flutterSdkPath": ".fvm/flutter_sdk",
// Remove .fvm files from search
"search.exclude": {
"**/.fvm": true
},
// Remove from file watching
"files.watcherExclude": {
"**/.fvm": true
}
}
Android Studio
- Ve a Languages & Frameworks > Flutter
- Cambia la ruta del SDK de Flutter a la ruta absoluta de tu enlace simbólico de FVM (por ejemplo,
/absolute-project-path/.fvm/flutter_sdk
) - Aplica los cambios y reinicia Android Studio
Para ignorar el directorio raíz del SDK de Flutter dentro de Android Studio, agrega esto a .idea/workspace.xml
:
<component name="VcsManagerConfiguration">
<ignored-roots>
<path value="$PROJECT_DIR$/.fvm/flutter_sdk" />
</ignored-roots>
</component>
XCode
Si estás trabajando en iOS, abre Xcode, ve a Build phases y agrega esto en Run script:
export FLUTTER_ROOT="$PROJECT_DIR/../.fvm/flutter_sdk"
Características avanzadas de FVM
Sabores del proyecto
FVM admite sabores de proyecto, lo que permite que diferentes partes de tu aplicación utilicen diferentes versiones del SDK de Flutter:
fvm use 3.16.0 --flavor production
fvm use 3.10.0 --flavor development
Para cambiar entre sabores:
fvm use production
fvm use development
Para ejecutar un comando de Flutter con un sabor específico:
fvm flavor production flutter build
Ejecución de comandos de Flutter con versiones específicas
El comando spawn
te permite ejecutar comandos de Flutter con una versión específica del SDK:
fvm spawn 3.16.0 flutter build
fvm spawn 3.10.0 flutter test
Ejecución de comandos con la versión de Flutter del proyecto
El comando exec
ejecuta comandos o scripts utilizando la versión de Flutter configurada del proyecto:
fvm exec melos bootstrap
fvm exec path/to/script.sh
Trabajar con FVM en entornos CI/CD
Para la integración continua, agrega estos pasos a tu flujo de trabajo:
- Instala FVM
- Ejecuta
fvm install
- Usa
fvm flutter <command>
para ejecutar comandos de Flutter
Ejemplo para 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
Mejores prácticas para usar FVM
- Siempre usa FVM para los comandos de Flutter - Ejecuta los comandos de Flutter a través de FVM (por ejemplo,
fvm flutter pub get
) para garantizar la coherencia. - Incluye la versión de FVM en la documentación del proyecto - Documenta la versión requerida de Flutter en tu README para ayudar a los nuevos miembros del equipo.
- Bloquea la versión de Flutter en CI/CD - Asegúrate de que tu canalización de integración continua use la misma versión de Flutter que tu entorno de desarrollo.
- Considera usar
--pin
para la estabilidad - Cuando uses un canal como 'stable', considera fijarlo para evitar actualizaciones automáticas. - Limpieza regular de la caché - Elimina periódicamente las versiones de Flutter no utilizadas con
fvm remove
para ahorrar espacio en disco.
Solución de problemas comunes
Versión de FVM no reconocida
Si tu IDE no reconoce la versión de Flutter establecida por FVM:
- Asegúrate de que la ruta del SDK de Flutter esté configurada correctamente en la configuración de tu IDE
- Reinicia tu IDE después de los cambios de configuración
- Verifica que el enlace simbólico se haya creado correctamente con
ls -la .fvm/flutter_sdk
Problemas de permisos
Si encuentras errores de permiso:
- En sistemas basados en Unix, prueba
sudo fvm <command>
- Verifica los permisos de la carpeta para el directorio de caché de FVM
Problemas de ruta
Si los comandos de Flutter no se encuentran después de usar FVM:
- Asegúrate de que la ruta del SDK de Flutter esté en la variable PATH de tu sistema
- Usa rutas absolutas al SDK de Flutter en tus scripts
Conclusión
Flutter Version Management (FVM) es una herramienta indispensable para el desarrollo moderno de Flutter. Al permitir un control preciso sobre las versiones del SDK de Flutter en diferentes proyectos, elimina los problemas de compatibilidad y garantiza la coherencia entre los equipos de desarrollo.
Comenzando con los conceptos básicos de la instalación y avanzando hacia características avanzadas como los sabores del proyecto, esta guía ha cubierto los aspectos esenciales del uso eficaz de FVM. Al incorporar FVM en tu flujo de trabajo de desarrollo de Flutter, puedes mejorar la productividad, mantener la estabilidad del proyecto y colaborar sin problemas con los miembros del equipo.
Recuerda siempre ejecutar los comandos de Flutter a través de FVM para garantizar la coherencia de la versión y evitar comportamientos inesperados. Con el uso adecuado de FVM, puedes trabajar con confianza en múltiples proyectos de Flutter con diferentes requisitos de SDK y experimentar fácilmente con nuevas versiones de Flutter sin afectar tu código de producción.
¡Feliz codificación de Flutter con FVM!