Saltar al contenido principal

Resolución de problemas de instalación

Obtén ayuda con los problemas de instalación comunes con los que podrían haberse encontrado los nuevos desarrolladores de Flutter.

Esta página describe algunos problemas de instalación comunes que los nuevos usuarios de Flutter han encontrado y ofrece sugerencias sobre cómo resolverlos.

Si sigues experimentando problemas después de usar esta página, considera recurrir a cualquiera de los recursos enumerados en los canales de soporte de la comunidad. Para añadir un tema a esta página o hacer una corrección, puedes reportar un problema o enviar un pull request en GitHub.

Obtén el SDK de Flutter

#

No se puede encontrar el comando flutter

#

What does this issue look like?

Cuando intentas ejecutar el comando flutter, la consola no logra encontrarlo. El error suele verse de la siguiente manera:

'flutter' is not recognized as an internal or external command operable program or batch file

Los mensajes de error en macOS y Linux podrían verse ligeramente diferentes del mensaje en Windows.

Explanation and suggestions

¿Añadiste Flutter a la variable de entorno PATH para tu plataforma? En Windows, sigue estas instrucciones para añadir un comando a tu path.

Si ya has configurado VS Code para el desarrollo de Flutter, puedes usar la solicitud Locate SDK de la extensión de Flutter para identificar la ubicación de tu carpeta flutter.

Consulte también: Configuring PATH and Environment Variables - Dart Code

Flutter en carpetas especiales

#

What does this issue look like?

La ejecución de tu proyecto de Flutter produce un error como el siguiente:

The Flutter SDK is installed in a protected folder and may not function correctly.
Please move the SDK to a location that is user-writable without Administration permissions and restart.

Explanation and suggestions

En Windows, esto suele suceder cuando Flutter está instalado en un directorio como C:\Program Files\ que requiere privilegios elevados. Intenta reubicar Flutter en una carpeta diferente, como C:\src\flutter.

Invoke-Expression: You cannot call a method on a null-valued expression

#

What does this issue look like?

Al ejecutar flutter doctor en Windows, es posible que veas un error como:

Invoke-Expression : You cannot call a method on a null-valued expression.
At ...\update_engine_version.ps1:60 char:20

Explanation and suggestions

Este error ocurre normalmente cuando falta la variable de entorno SystemRoot o cuando la política de ejecución de PowerShell impide que el script se ejecute correctamente.

Para resolver esto:

  1. Ejecutar como Administrador: Abre tu terminal de PowerShell como Administrador.

  2. Comprobar variables de entorno: Asegúrate de que la variable de entorno SystemRoot esté configurada (normalmente como C:\Windows). Puedes comprobar su valor ejecutando echo $env:SystemRoot en tu terminal de PowerShell.

  3. Comprobar política de ejecución: Si el problema persiste, es posible que debas ajustar tu política de ejecución. Ejecuta el siguiente comando en una ventana de PowerShell como Administrador:

    powershell
    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
    

Configuración de Android

#

Tener instaladas múltiples versiones de Java

#

What does this issue look like?

El comando flutter doctor --android-licenses falla. Ejecutar flutter doctor --verbose genera un mensaje de error como el siguiente:

java.lang.UnsupportedClassVersionError: com/android/prefs/AndroidLocationsProvider
has been compiled by a more recent version of the Java Runtime (class file version 55.0),
this version of the Java Runtime only recognizes class file versions up to 52.0

Explanation and suggestions

El error ocurre cuando hay una versión más antigua del Java Development Kit (JDK) instalada en tu ordenador.

Si no necesitas múltiples versiones de Java, desinstala los JDK existentes de tu ordenador. Flutter utiliza automáticamente el JDK incluido en Android Studio.

Si necesitas otra versión de Java, prueba la solución alternativa descrita en este problema de GitHub hasta que se implemente una solución a largo plazo. Para obtener más información, consulta la guía de migración de Android Java Gradle o flutter doctor --android-licenses no funciona debido a java.lang.UnsupportedClassVersionError en Stack Overflow.

Falta el componente cmdline-tools

#

What does this issue look like?

El comando flutter doctor se queja de que faltan las cmdline-tools en la herramienta de desarrollo (toolchain) de Android. Por ejemplo:

[!] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
    • Android SDK at C:\Users\My PC\AppData\Local\Android\sdk
    X cmdline-tools component is missing

Explanation and suggestions

La forma más fácil de obtener las cmdline-tools es a través del SDK Manager en Android Studio. Para hacer esto, sigue las siguientes instrucciones:

  1. Abre el SDK Manager desde Android Studio seleccionando Tools > SDK Manager en la barra de menú.
  2. Selecciona el último Android SDK (o una versión específica que requiera tu aplicación), Android SDK Command-line Tools y Android SDK Build-Tools.
  3. Haz clic en Apply para instalar los artefactos seleccionados.

Android Studio SDK Manager

Si no estás usando Android Studio, puedes descargar las herramientas usando la herramienta de línea de comandos sdkmanager.

Configuración de macOS

#

SocketException: Send failed, OS Error: No route to host, errno = 65

#

What does this issue look like?

En macOS, el comando flutter run produce un error como:

$ flutter run
Launching lib/main.dart in debug mode...
...
Installing and launching...
Oops; flutter has exited unexpectedly: "SocketException: Send failed (OS Error: No route to host, errno = 65), address = 0.0.0.0, port = 5353".

Explanation and suggestions

Este problema está relacionado con los permisos de macOS.

Para solucionar esto:

  1. Actualiza tu SDK de Flutter a la última versión.

  2. Abre Ajustes del Sistema > Privacidad y seguridad > Red local. Activa el permiso para todos los editores de código y terminales que uses para lanzar aplicaciones de Flutter. Es posible que tengas que reiniciar tu editor de código, terminal y dispositivo físico.

Otros problemas

#

Código de salida 69

#

What does this issue look like?

La ejecución de un comando de flutter produce un error "exit code: 69", como se muestra en el siguiente ejemplo:

Running "flutter pub get" in flutter_tools...
Resolving dependencies in .../flutter/packages/flutter_tools... (28.0s)
Got TLS error trying to find package test at https://pub.dev/.
pub get failed
command:
".../flutter/bin/cache/dart-sdk/bin/
dart __deprecated_pub --color --directory
.../flutter/packages/flutter_tools get --example"
pub env: {
  "FLUTTER_ROOT": ".../flutter",
  "PUB_ENVIRONMENT": "flutter_cli:get",
  "PUB_CACHE": ".../.pub-cache",
}
exit code: 69

Explanation and suggestions

Este problema está relacionado con la red. Prueba las siguientes instrucciones para solucionar problemas:

  • Comprueba tu conexión a internet. Asegúrate de estar conectado a internet y de que tu conexión sea estable.
  • Reinicia tus dispositivos, incluyendo tu ordenador y equipos de red.
  • Usa una VPN para ayudar a eludir cualquier restricción que pudiera impedirte conectarte a la red.
  • Si has intentado todos estos pasos y sigues obteniendo el error, imprime los registros detallados con el comando flutter doctor -v y pide ayuda en uno de los canales de soporte de la comunidad.

Soporte de la comunidad

#

La comunidad de Flutter es servicial y acogedora. Si ninguna de las sugerencias anteriores resuelve tu problema de instalación, considera pedir soporte en uno de los siguientes canales:

Para ser respetuoso con el tiempo de todos, busca en el archivo un problema similar antes de publicar uno nuevo.