dart pub get
Usa dart pub get para recuperar las dependencias utilizadas por tu aplicación Dart.
Get es uno de los comandos de la herramienta pub (pub tool).
$ dart pub get [options]
Este comando obtiene todas las dependencias listadas en el
archivo pubspec.yaml en el directorio de trabajo actual, así como sus
dependencias transitivasDependencia transitivaUna dependencia que un paquete utiliza indirectamente porque
una de sus dependencias la requiere. Obtén más información.
Por ejemplo:
dart pub get
Resolving dependencies...
Got dependencies!
Si la caché del sistemaCaché del sistema de PubUn directorio donde pub almacena los paquetes remotos descargados. Obtén más información
no contiene ya las dependencias, dart pub get
actualiza la caché,
descargando las dependencias si es necesario.
Para mapear los paquetes de vuelta a la caché del sistema,
este comando crea un archivo package_config.json
en el directorio .dart_tool/.
Una vez adquiridas las dependencias, estas pueden ser referenciadas en el código Dart.
Por ejemplo, si un paquete depende de test:
import 'package:test/test.dart';
Cuando dart pub get obtiene nuevas dependencias, escribe un
archivo de bloqueo (lockfile)LockfileUn archivo llamado pubspec.lock que especifica las versiones de cada dependencia. Obtén más información
para asegurar que las futuras
obtenciones utilicen las mismas versiones de esas dependencias.
Los paquetes de aplicación (application packages)Paquete de aplicaciónUn paquete Dart que contiene una aplicación ejecutable. Obtén más información
deberían registrar el archivo de bloqueo en el control de versiones;
esto asegura que la aplicación utilizará exactamente las mismas versiones
de todas las dependencias para todos los desarrolladores y cuando se despliegue en producción.
Sin embargo, los paquetes normales no deberían registrar el archivo de bloqueo, ya que se
espera que funcionen con un rango de versiones de dependencias.
Si ya existe un archivo de bloqueo, dart pub get utiliza las versiones de dependencias
bloqueadas en él si es posible. Si una dependencia no está bloqueada, pub obtiene la
última versión de esa dependencia que satisfaga todas las restricciones de
versiónRestricción de versiónUna restricción asociada a cada dependencia que
especifica con qué versiones se espera que funcione un paquete. Obtén más información.
Esta es la diferencia principal entre dart pub get y
dart pub upgrade, el cual siempre intenta
obtener las últimas versiones de todas las dependencias.
Resolución de paquetes
#Por defecto, pub crea un archivo package_config.json
en el directorio .dart_tool/ que mapea nombres de paquetes a URIs de ubicación.
Obtener una nueva dependencia
#Si se añade una dependencia al pubspec y luego se ejecuta dart pub get,
esta obtiene la nueva dependencia y cualquiera de sus dependencias transitivas.
Sin embargo, pub no cambiará las versiones de ninguna dependencia ya adquirida
a menos que sea necesario para obtener la nueva dependencia.
Eliminar una dependencia
#Si se elimina una dependencia del pubspec y luego se ejecuta dart pub get,
la dependencia ya no estará disponible para su importación.
Cualquier dependencia transitiva de la dependencia eliminada también se elimina,
siempre y cuando ninguna de las dependencias inmediatas restantes dependa también de ellas.
La eliminación de una dependencia nunca cambia las versiones de ninguna
dependencia ya adquirida.
La caché de paquetes del sistema
#Las dependencias descargadas a través de internet, como las de Git y las del sitio pub.dev, se almacenan en una caché para todo el sistemaCaché del sistema de PubUn directorio donde pub almacena los paquetes remotos descargados. Obtén más información. Esto significa que si varios paquetes utilizan la misma versión de la misma dependencia, solo es necesario descargarla y almacenarla localmente una vez.
Por defecto, la caché de paquetes del sistema se encuentra en el subdirectorio .pub-cache
de tu directorio personal (en macOS y Linux),
o en %LOCALAPPDATA%\Pub\Cache (en Windows;
la ubicación puede variar según la versión de Windows).
Puedes configurar la ubicación de la caché configurando la variable de entorno
PUB_CACHE
antes de ejecutar pub.
Obtener estando sin conexión (offline)
#Si no tienes acceso a la red, aún puedes ejecutar dart pub get.
Debido a que pub descarga paquetes en una caché central compartida por todos los paquetes
de tu sistema, a menudo puede encontrar paquetes descargados previamente
sin necesidad de utilizar la red.
Sin embargo, por defecto, dart pub get intenta conectarse si tienes
alguna dependencia alojada,
para que pub pueda detectar versiones más nuevas de las dependencias.
Si no deseas que pub haga eso, pásale la flag --offline.
En modo sin conexión (offline), pub busca únicamente en la caché local de paquetes,
intentando encontrar un conjunto de versiones que funcionen con tu paquete a partir de lo que ya
está disponible.
Ten en cuenta que pub genera un archivo de bloqueo. Si la
única versión de alguna dependencia en tu caché resulta ser antigua,
el comando offline dart pub get bloquea tu aplicación en esa versión antigua.
La próxima vez que estés conectado, probablemente querrás
ejecutar dart pub upgrade para actualizar a una versión posterior.
Opciones
#Para conocer las opciones que se aplican a todos los comandos de pub, consulta Opciones globales.
--[no-]offline
#
Por defecto, pub se conecta a la red
para recuperar paquetes alojados (--no-offline).
Para usar paquetes almacenados en caché en su lugar, utiliza --offline.
Para más detalles,
consulta Obtener paquetes estando sin conexión (offline).
--dry-run o -n
#
Informa sobre las dependencias que cambiarían, pero no realiza los cambios. Esto es útil si deseas analizar las actualizaciones antes de realizarlas.
--[no-]precompile
#
Por defecto, pub precompila los ejecutables
en las dependencias inmediatas (--precompile).
Para evitar la precompilación, utiliza --no-precompile.
--[no-]example
#
Por defecto, pub también recupera las dependencias del
directorio example/ del paquete (--example).
Para omitir la recuperación de dependencias de ejemplo, utiliza --no-example.
--enforce-lockfile
#
Fuerza la resolución del pubspec.lock actual.
Hace que pub get falle con un mensaje de error si el pubspec.lock no especifica exactamente
una resolución válida de pubspec.yaml o si ha cambiado el hash de contenido de algún
paquete alojado.
Útil para CI o para desplegar a producción.
Consulta Obtener dependencias para producción para más detalles.
A menos que se indique lo contrario, la documentación en este sitio refleja Dart 3.12.2. Página actualizada por última vez el 2026-05-15. Ver fuente oreportar un problema.