You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'd like to be able to uninstall a package and all of its dependents. For example, given an application and two plugins that are installed via separate packages:
App
Plugin1 (depends on App)
Plugin2 (depends on App)
I'd like to run a single command which uninstalls all three. Something like:
choco uninstall *App* --remove-dependents
This allows the user to uninstall an app and all of its plugins without having to remember which plugins are installed and running separate commands for each.
Currently, when I try to uninstall App, I get a message that states choco cannot continue because Plugin1 and Plugin2 depend on it. The new feature would override this message and uninstall all related packages.
NOTE This is the opposite of the --remove-depedencies switch which would remove any dependencies that also have no dependents.
choco uninstall Plugin1 --remove-dependencies would uninstall Plugin1 but would fail to uninstall App because Plugin2 is still installed. Afterward, running choco uninstall Plugin2 --remove-dependencies would uninstall both Plugin2 and App.
Reference:
UPDATE: As Chocolatey Gitter chat is now unavailable, I've added a screenshot of the Gitter chat.
The text was updated successfully, but these errors were encountered:
I would expect the sequencing of the uninstalls to be inverted according to the dependency tree. So with the example above, Plugin1 and Plugin2 would be uninstalled first, then App would be uninstalled last.
A package does not know of its dependents. So to determine something like this we have to graph the dependency tree for all installed packages and then inverse it. Then we'd walk through each package to determine if it has a dependency on App. And then look to see if each of those items have a dependency on each other to build an uninstall order.
NuGet was believed to handle all of these kind of things, but we keep finding weird edge cases. Some of them are corrected in NuGet v3, but until we get there we won't know if the team approached this scenario or if we will need to build it into NuGet.
HTH
Some of the following items will be corrected by #508:
I'd like to be able to uninstall a package and all of its dependents. For example, given an application and two plugins that are installed via separate packages:
I'd like to run a single command which uninstalls all three. Something like:
This allows the user to uninstall an app and all of its plugins without having to remember which plugins are installed and running separate commands for each.
Currently, when I try to uninstall App, I get a message that states choco cannot continue because Plugin1 and Plugin2 depend on it. The new feature would override this message and uninstall all related packages.
NOTE This is the opposite of the
--remove-depedencies
switch which would remove any dependencies that also have no dependents.choco uninstall Plugin1 --remove-dependencies
would uninstall Plugin1 but would fail to uninstall App because Plugin2 is still installed. Afterward, runningchoco uninstall Plugin2 --remove-dependencies
would uninstall both Plugin2 and App.Reference:
UPDATE: As Chocolatey Gitter chat is now unavailable, I've added a screenshot of the Gitter chat.
The text was updated successfully, but these errors were encountered: