Jens Segers on Nov 08 2015

List outdated composer packages with Climb

Composer is really missing an "outdated" command like most of the other package managers. Luckily, the Climb package has this covered!

Climb checks your composer files to see which packages are outdated, regardless of your version constraints. Without Climb, there's no way of knowing if a package has a new major release unless you use a notification system like Gemnasium. Climb is one of those tools you just need to get on your tool belt.

Install Climb by adding it to your global composer packages:

composer global require vinkla/climb

Make sure your global composer bin folder is added to your $PATH environment variable. If not, add the following to your .bashrc or .zshrc:

export PATH=$PATH:~/.composer/vendor/bin

Then go to one of your PHP projects and run the climb command. You should see a list of outdated and upgradable packages for that specific project:

>  climb

guzzlehttp/guzzle               5.3.0      →     6.1.0
jenssegers/optimus              0.1.4      →     0.2.0
sensiolabs/security-checker     2.0.5      →     3.0.2

The following dependencies are satisfied by their declared version constraint, but the installed versions are behind. You can install the latest versions without modifying your composer.json file by using 'composer update'.

jenssegers/agent     2.2.2     →     2.3.0

The package is still under development, but some cool new things are coming soon such as climb global to check your global packages and climb upgrade to update the version constraints in your composer.json file.


Comments

Peter 2 years ago

composer global require vinkla/climb Changed current directory to /Users/Peter/.composer Using version ^0.5.0 for vinkla/climb ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages.

Problem 1

  • Installation request for vinkla/climb ^0.5.0 -> satisfiable by vinkla/climb[0.5.0].
  • Conclusion: remove symfony/console v2.6.4
  • Conclusion: don't install symfony/console v2.6.4
  • vinkla/climb 0.5.0 requires symfony/console ^2.7 -> satisfiable by symfony/console[v2.7.0, v2.7.1, v2.7.2, v2.7.3, v2.7.4, v2.7.5, v2.7.6].
  • Can only install one of: symfony/console[v2.7.0, v2.6.4].
  • Can only install one of: symfony/console[v2.7.1, v2.6.4].
  • Can only install one of: symfony/console[v2.7.2, v2.6.4].
  • Can only install one of: symfony/console[v2.7.3, v2.6.4].
  • Can only install one of: symfony/console[v2.7.4, v2.6.4].
  • Can only install one of: symfony/console[v2.7.5, v2.6.4].
  • Can only install one of: symfony/console[v2.7.6, v2.6.4].
  • Installation request for symfony/console == 2.6.4.0 -> satisfiable by symfony/console[v2.6.4].

Installation failed, reverting ./composer.json to its original content.