I am using Magento 2 and I run all of my updates through Composer. I would like to see what Composer packages I have that are currently out of date. When I run composer outdated
I get this:
[InvalidArgumentException] Command “outdated” is not defined.
Is there another command I can use?
2
Answers
Maybe you have an old version of Composer, before the
outdated
command has been introduced.As its documentation says,
composer outdated
is just an alias ofcomposer show -lo
. The two options ofcomposer show
mean:-l
(short of--latest
): List all installed packages including their latest version.-o
(short of--outdated
): Implies--latest
, but this lists only packages that have a newer version available.Or you can run
composer self-update
to update Composer to its latest version then runcomposer outdated
again.Your Composer is too old.
outdated
command was introduced in1.1.0
. If you’re using pretty ancient1.0.0-beta2
, you may missing many features and bugfixes, you should really upgrade to the last version.If
1.0.0-beta2
is the last version available in repository of your Linux distribution, you may try uninstalling it and download last version directly using instructions from documentation. Official repositories are often focused on stability and they’re avoiding non-patch upgrades. In many cases it means that PHP packages from official repositories are pretty outdated (2 years is like ages in PHP world). You should either install such packages directly from source or use some alternative repositories with more fresh packages (like this PPA for Ubuntu).