dart pub upgrade
Usa dart pub upgrade para obtener las últimas versiones de todas las dependencias utilizadas por tu aplicación Dart.
Upgrade es uno de los comandos de la herramienta pub (pub tool).
$ dart pub upgrade [options] [dependencies]
Al igual que dart pub get,
dart pub upgrade obtiene las dependencias.
La diferencia es que dart pub upgrade ignora cualquier
archivo de bloqueo (lockfile)LockfileUn archivo llamado pubspec.lock que especifica las versiones de cada dependencia. Obtén más información existente,
para que pub pueda obtener las últimas versiones de todas las dependencias.
Un comando relacionado es dart pub outdated,
el cual puedes ejecutar para encontrar dependencias desactualizadas.
Sin ningún argumento adicional, dart pub upgrade obtiene las últimas
versiones de 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 upgrade
Dependencies upgraded!
Cuando dart pub upgrade actualiza las versiones de las dependencias, escribe un archivo de bloqueo para asegurar que
dart pub get utilizará las mismas versiones de esas
dependencias. Para 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, registra el archivo de bloqueo en el
control de versiones; esto asegura que la aplicación tenga exactamente las mismas
versiones de todas las dependencias para todos los desarrolladores y al desplegarse en
producción. Para paquetes normales, no registres el archivo de bloqueo,
porque se espera que los paquetes funcionen con un rango de versiones de dependencias.
Si ya existe un archivo de bloqueo, dart pub upgrade lo ignora y genera uno nuevo
desde cero, utilizando las últimas versiones de todas las dependencias.
Consulta la documentación de dart pub get para obtener más información
sobre la resolución de paquetes y la caché de paquetes del sistema.
Actualizar dependencias específicas
#Puedes indicarle a dart pub upgrade que actualice dependencias específicas a la
última versión, dejando el resto de las dependencias sin cambios en la medida de lo
posible. Por ejemplo:
dart pub upgrade test args
Dependencies upgraded!
Normalmente, no se actualizan otras dependencias; permanecen en las versiones que están bloqueadas en el archivo de bloqueo. Sin embargo, si las actualizaciones solicitadas causan incompatibilidades con estas versiones bloqueadas, se desbloquean selectivamente hasta encontrar un conjunto compatible de versiones.
Esto significa que actualizar una dependencia específica no actualiza por defecto sus dependencias transitivas.
Para actualizar una dependencia específica y todas sus dependencias transitivas a sus
últimas versiones, utiliza la flag --unlock-transitive.
dart pub upgrade --unlock-transitive test args
Obtener una nueva dependencia
#Si se añade una dependencia al pubspec antes de ejecutar dart pub upgrade,
esta obtiene la nueva dependencia y cualquiera de sus dependencias transitivas.
Esto comparte el mismo comportamiento que dart pub get.
Eliminar una dependencia
#Si se elimina una dependencia del pubspec antes de ejecutar dart pub upgrade,
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.
Este es el mismo comportamiento que dart pub get.
Actualizar estando sin conexión (offline)
#Si no tienes acceso a la red, aún puedes ejecutar dart pub upgrade.
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 upgrade 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 upgrade bloquea tu aplicación en esa versión antigua.
La próxima vez que estés conectado, probablemente querrás
ejecutar dart pub upgrade de nuevo para actualizar a una versión posterior.
Opciones
#El comando dart pub upgrade admite las
opciones de dart pub get, entre otras.
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 actualiza las dependencias del
directorio example/ del paquete (--example).
Para omitir la actualización de dependencias de ejemplo, utiliza --no-example.
--major-versions
#
Obtiene los paquetes que dart pub outdated lista como
resolubles (resolvable),
ignorando cualquier restricción de límite superior (upper-bound) en el archivo pubspec.yaml.
También actualiza pubspec.yaml con las nuevas restricciones.
Para verificar qué dependencias se actualizarán,
puedes usar dart pub upgrade --major-versions --dry-run.
--tighten
#
Actualiza los límites inferiores (lower bounds) de las dependencias en pubspec.yaml para que coincidan con las
versiones resueltas, y devuelve una lista de las restricciones modificadas.
Se puede aplicar a dependencias específicas.
--unlock-transitive
#
Cuando se utiliza con una lista de paquetes para desbloquear, primero se calcula la clausura transitiva de las dependencias de esos paquetes (en la resolución actual), y luego se desbloquean todos esos paquetes.
En un espacio de trabajo (workspace)
#En un espacio de trabajo de Pub (Pub workspace), dart pub upgrade
actualizará todas las dependencias en la resolución compartida de todos los paquetes del
espacio de trabajo.
Los comandos dart pub upgrade --major-versions y dart pub upgrade --tighten actualizarán
las restricciones en todos los archivos pubspec.yaml del espacio de trabajo.
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 31-03-2026. Ver fuente oreportar un problema.