Saltar al contenido principal

dart pub global

Usa dart pub global para ejecutar scripts de Dart alojados en el sitio pub.dev desde la línea de comandos.

Global es uno de los comandos de la herramienta pub (pub tool).

La opción global de pub te permite ejecutar scripts de Dart desde la línea de comandos cuando no te encuentras actualmente dentro de un paquete. Después de activar un paquete, puedes ejecutar scripts desde el directorio bin de ese paquete. Al desactivar un paquete, este se elimina de tu lista de paquetes disponibles de forma global.

Por ejemplo, supongamos que quieres usar webdev para servir tu aplicación web Dart desde la línea de comandos.

dart pub global activate webdev
webdev serve

Si esto no funciona, es posible que debas configurar tu path.

Para ejecutar un script de Dart desde dentro de un paquete, o desde un paquete del cual depende tu paquete, consulta dart run.

Activar un paquete

#
dart pub global activate [--noexecutables] [--executable=<name>] [--overwrite] <package> [version-constraint]

Activa un paquete cuando quieras poder ejecutar uno o más de sus archivos ejecutables desde la línea de comandos. Puedes activar paquetes alojados en el sitio pub.dev, en un repositorio Git o en tu máquina local. Una vez activado un paquete, consulta Ejecutar un script para ejecutar scripts del directorio bin del paquete.

Cuando activas un paquete, puedes especificar una restricción de versión opcional. Consulta la flag constraint para ver ejemplos de uso.

Activar un paquete en el sitio pub.dev

#
dart pub global activate <pub.dev package>

Especifica un paquete en el sitio pub.dev para activarlo. Por ejemplo:

dart pub global activate markdown

Activar un paquete con Git

#
dart pub global activate --source git <Git URL>
dart pub global activate -sgit <Git URL>

Usa --source git (o -sgit, para abreviar) para activar un paquete en un repositorio Git. Los siguientes ejemplos, que activan el paquete async_await en GitHub, son equivalentes:

dart pub global activate --source git https://github.com/dart-lang/async_await.git
dart pub global activate -sgit https://github.com/dart-lang/async_await.git

Pub espera encontrar el paquete en la raíz del repositorio Git. Para especificar una ubicación diferente, usa la opción --git-path con una ruta relativa a la raíz del repositorio:

dart pub global activate -sgit https://github.com/dart-lang/http.git --git-path pkgs/http/

Pub utiliza la rama por defecto del repositorio de Git. Para especificar una rama o commit diferente, usa la opción --git-ref:

dart pub global activate -sgit https://github.com/dart-lang/http.git --git-ref 36f98e900347335af2338a0e087538009b7de2f9

Activar un paquete en tu máquina local

#
dart pub global activate --source path <path>

Usa activate --source path <path> para activar un paquete en tu máquina local. El siguiente ejemplo activa el paquete stopwatch desde el directorio ~/dart:

dart pub global activate --source path ~/dart/stopwatch

Actualizar un paquete activado

#

Una vez activado un paquete, puedes actualizarlo activándolo de nuevo.

Ejecutar un script

#

Puedes ejecutar directamente un script desde un paquete activado en la línea de comandos. Si no puedes ejecutar el script directamente, también puedes usar dart pub global run.

Ejecutar un script desde tu PATH

#

Para ejecutar un script directamente desde la línea de comandos, añade el directorio bin de la caché del sistemaCaché del sistema de PubUn directorio donde pub almacena los paquetes remotos descargados. Obtén más información a tu variable de entorno PATH.

Por ejemplo, supongamos que has activado el paquete webdev, pero aún no puedes ejecutar el comando:

dart pub global activate webdev
webdev serve
-bash: webdev: command not found

Verifica que el directorio bin para la caché del sistema esté en tu path. La siguiente variable PATH, en macOS, incluye la caché del sistema:

echo $PATH
/Users/<user>/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/Users/<user>/.pub-cache/bin

Si este directorio no se encuentra en tu PATH, localiza el archivo correspondiente a tu plataforma y añádelo.

PlataformaUbicación de la caché
macOS o Linux$HOME/.pub-cache/bin
Windows*%LOCALAPPDATA%\Pub\Cache\bin

* La ubicación exacta de la caché del sistema puede variar en diferentes versiones de Windows.

Ahora puedes invocar directamente el comando:

cd web_project
webdev serve

Si el script sigue fallando al ejecutarse desde la línea de comandos, es posible que el paquete no esté configurado para esta característica. Aún puedes ejecutar el script usando dart pub global run.

Ejecutar un script usando dart pub global run

#
$ dart pub global run <package>:<executable> [args...]

Incluso si un script no está configurado para ejecutarse desde la línea de comandos, puedes seguir usando dart pub global run. El siguiente comando ejecuta el script bin/bar.dart del paquete foo, pasándole dos argumentos.

dart pub global run foo:bar arg1 arg2

Configurar los ejecutables de un paquete

#

Si no eres desarrollador de paquetes, puedes omitir esta sección.

Un paquete puede exponer algunos de sus scripts como ejecutables que se pueden ejecutar directamente desde la línea de comandos. El script o los scripts deben estar listados en la entrada executables del archivo pubspec. Por ejemplo, el siguiente archivo pubspec identifica a bin/helloworld.dart como un ejecutable para el paquete helloworld:

yaml
name: helloworld

executables:
  helloworld:

No listar un script bajo la etiqueta executables reduce la usabilidad del script: los scripts no listados se pueden ejecutar usando dart pub global run, pero no directamente desde la línea de comandos.

Desactivar un paquete

#
dart pub global deactivate <package>

Usa deactivate para eliminar un paquete de la lista de paquetes globales disponibles. Por ejemplo:

dart pub global deactivate markdown

Ya no podrás invocar los scripts del paquete usando dart pub global run, ni tampoco desde la línea de comandos.

Enumerar los paquetes activos

#
dart pub global list

Usa list para listar todos los paquetes actualmente activos.

Opciones

#

Para conocer las opciones que se aplican a todos los comandos de pub, consulta Opciones globales.

[version-constraint]

#

Usa dart pub global activate <package> [version-constraint] para especificar una versión concreta del paquete. Por ejemplo, el siguiente comando obtiene la versión 0.6.0 del paquete markdown:

dart pub global activate markdown 0.6.0

Si especificas un rango, pub elige la mejor versión que cumpla con esa restricción. Por ejemplo:

dart pub global activate foo <3.0.0

--no-executables

#

Usa dart pub global activate <package> --no-executables para activar de forma global el paquete especificado, pero sin colocar ningún ejecutable en bin. Tendrás que usar dart pub global run para ejecutar cualquier ejecutable.

--executable=<nombre> o -x <nombre>

#

Úsalo con dart pub global activate para añadir el ejecutable especificado a tu PATH. Puedes pasar más de una de estas flags.

Por ejemplo, el siguiente comando añade bar y baz, (pero ningún otro ejecutable que foo pueda definir) a tu PATH.

dart pub global activate foo -x bar -x baz

--overwrite

#

Usa dart pub global activate <package> --overwrite para sobreescribir cualquier ejecutable global previamente activado con el mismo nombre. Si no especificas esta flag, el ejecutable preexistente no será reemplazado.