Vcpkg: Introducing the upgrade command

If you’re just getting started and want to learn more about vcpkg, check out our initial post.

We recently added a new option to vcpkg (i.e. vcpkg contact –survey) to provide a direct way to share your feedback with the Vcpkg team. A big thank you to those of you that shared your thoughts and suggestions with the team through this new channel.

The new upgrade command we’re introducing today is a result of your direct feedback. This new command will perform all the necessary tasks: removing old version, purging outdated libraries, and then automatically installing the newest version of each library, including its dependencies.

The “upgrade” command should now be used to upgrade the installed libraries

Used without arguments, the upgrade command will upgrade all the outdated libraries at once.

clip_image002

By default, the upgrade command only lists the libraries to be upgraded, but doesn’t upgrade them. To effectively upgrade them, you should use the –no-dry-run option.

The Upgrade command can also be used with one or multiple arguments (the libraries to upgrade if not all of them) and a few other options:

 vcpkg upgrade --no-dry-run 

Options:

  • –no-dry-run Actually upgrade
  • –keep-going Continue installing packages on failure
  • –triplet <t> Set the default triplet for unqualified packages
  •  –vcpkg-root <path> Specify the vcpkg directory to use instead of current directory or tool directory

For example, specifying only two libraries to upgrade:

clip_image004

Upgrade vs Update

In the latest Vcpkg version, the update command displays the list of outdated libraries and invites the user to use the new upgrade command.

clip_image006

We identified this area of improvement because of your feedback! Thanks continuing to provide your insights and suggestions for improvements. Complete the survey running vcpkg contact –survey , open an issue on GitHub or send us an email at vcpkg@microsoft.com.GitHub or send us an email at vcpkg@microsoft.com.