# GENERATED BY: test/help_test.dart

## Section 0
$ pub global activate --help
Make a package's executables globally available.

Usage: pub global activate <package> [version-constraint]
-h, --help              Print this usage information.
-s, --source            The source used to find the package.
                        [git, hosted (default), path]
    --no-executables    Do not put executables on PATH.
-x, --executable        Executable(s) to place on PATH.
    --overwrite         Overwrite executables from other packages with the same
                        name.
-u, --hosted-url        A custom pub server URL for the package. Only applies
                        when using the `hosted` source.

Run "pub help" to see global options.

