View Source mix hex.outdated (Hex v2.0.6)
Shows all Hex dependencies that have newer versions in the registry.
$ mix hex.outdated [APP]
By default, it only shows top-level packages explicitly listed in the
mix.exs
file. All outdated packages can be displayed by using the --all
command line option.
By default, hex.outdated
will exit with a non-zero exit code (1) if there are any
outdated dependencies. You can override this to respect the requirements
as specified in your mix.exs
file, with the --within-requirements
command line option,
so it only exits with non-zero exit code if the update is possible.
For example, if your version requirement is "~> 2.0" but the latest version is 3.0
,
with --within-requirements
it will exit successfully, but if the latest version
is 2.8
, then --within-requirements
will exit with non-zero exit code (1).
One scenario this could be useful is to ensure you always have the latest version of your dependencies, except for major version bumps.
If a dependency name is given all requirements on that dependency, from
the entire dependency tree, are listed. This is useful if you are trying
to figure why a package isn't updating when you run mix deps.update
.
Note that when this task determines if a package is updatable it only looks
at the project's current set of dependency requirements and what version
they are locked to. When mix deps.update
is called multiple packages may
be updated that in turn update their own dependencies, which may cause the
package you want to update to not be able to update.
command-line-options
Command line options
--all
- shows all outdated packages, including children of packages defined inmix.exs
--pre
- include pre-releases when checking for newer versions--within-requirements
- exit with non-zero code only if requirements specified inmix.exs
is met.