Uninstall Package - PowerShell
Overview
Uninstall-Package
removes installed NuGet packages from the current project. It is primarily used to manage project dependencies, remove unused packages, or troubleshoot package-related issues.
Syntax
Uninstall-Package [-Name] <PackageNames> [[-Version] <Version>] [[-ProjectName] <ProjectNames>] [[-Force] [<-IncludePreview>] [-ResolveDependencies]] [[-SkipDependencies] [-WhatIf]] [[-NoCache]] [<-Throw>] [[-Lastest] [-OutputVerbose] [-ErrorAction <Action>]
Options/Flags
- -Name: Specifies the name(s) of the package(s) to uninstall.
- -ProjectName: Specifies the project(s) from which to uninstall the package(s). Defaults to the current project.
- -Version: Specifies the version of the package to uninstall.
- -Force: Forces uninstallation of the package, even if it has dependent packages.
- -IncludePreview: Includes preview versions of the package in the search.
- -ResolveDependencies: Resolves package dependencies during uninstallation.
- -SkipDependencies: Skips resolving package dependencies during uninstallation.
- -WhatIf: Shows what would happen without actually uninstalling the package(s).
- -NoCache: Prevents using the NuGet package cache.
- -Throw: Throws an error if the package cannot be uninstalled.
- -Latest: Uninstalls the latest version of the package.
- -OutputVerbose: Displays detailed output during uninstallation.
- -ErrorAction: Specifies the action to take when an error occurs.
Examples
Uninstall a specific package:
Uninstall-Package MyPackage
Uninstall a specific version of a package:
Uninstall-Package MyPackage -Version 1.2.3
Uninstall a package from multiple projects:
Uninstall-Package MyPackage -ProjectName Project1,Project2
Force uninstallation of a package with dependent packages:
Uninstall-Package MyPackage -Force
Common Issues
- Missing dependencies: Ensure that all dependent packages are also uninstalled or resolved using
-ResolveDependencies
. - Package not found: Verify the package name and version are correct.
- Access denied: Check permissions for the project directory and NuGet repositories.
Integration
Uninstall-Package
can be integrated with other PowerShell commands for advanced package management tasks:
- Get-Package: Lists installed packages.
- Install-Package: Installs NuGet packages.
- Update-Package: Updates installed packages.