This error occurs when apt detects that a package dependency requires a specific minimum version, but apt is attempting to install a different (usually lower) version. It indicates a version mismatch between what a package needs and what is available to install, preventing the installation from proceeding.
When you try to install or upgrade a package, apt performs dependency resolution to ensure all required packages and their versions are available. This error appears when apt finds a package that explicitly requires another package at version X or higher, but the version available to install is lower than X. This is a hard constraint violation—the package cannot function with a lower version of its dependency. The version number in parentheses (e.g., ">= 2.0") specifies the minimum required version, while the second "version" is what apt would install instead. This typically happens due to outdated repositories, held packages, or conflicting version requirements from multiple packages.
First, refresh your package repository information to ensure apt has the latest available versions:
sudo apt updateThis downloads the latest package lists from all configured repositories. Outdated metadata can cause apt to see incorrect version information.
Run the installation command again to see the exact version mismatch:
sudo apt-get install package-nameNote the exact version numbers mentioned in the error. This tells you which package is too old and what minimum version is required. You can also use apt-cache to inspect versions:
apt-cache policy problematic-packageThis shows all available versions of the package and which one is installed.
A held package might be preventing apt from installing the required version:
sudo apt-mark showholdIf the package with the version mismatch appears in the held list, unhold it:
sudo apt-mark unhold package-nameThen retry the installation.
Check which repositories are enabled and their priorities:
grep -r "^deb" /etc/apt/sources.list /etc/apt/sources.list.d/If you are mixing repositories from different Debian/Ubuntu releases (e.g., focal and jammy), this can cause version conflicts. Consider using repositories from the same release channel:
lsb_release -csShows your current distribution release codename.
The conflicting package might be available in a newer version after a system upgrade:
sudo apt upgradeIf full upgrade suggests removing other packages, you can use:
sudo apt full-upgradeThis may upgrade other packages to compatible versions. Review what changes are proposed before confirming.
Search for the package with an acceptable version:
apt-cache search "^package-name$"
apt-cache depends package-nameYou can also explicitly request a specific version:
sudo apt-get install package-name=version-numberReplace "version-number" with a version that meets the ">=" requirement shown in the error.
If apt cannot resolve the conflict, aptitude often finds solutions:
sudo aptitude install package-nameWhen aptitude encounters conflicts, it will prompt you with multiple solutions. You can also see why a package cannot be installed:
sudo aptitude why-not package-nameThis shows the exact dependency chain causing the conflict.
If no compatible version exists in your repositories, you may need to remove the package requiring the higher version and find an alternative:
sudo apt remove package-requiring-higher-versionThen try installing your desired package. Alternatively, enable backports or a newer repository channel if available for your distribution.
This error is fundamentally about version constraints that cannot be satisfied by available packages. The version requirement syntax (e.g., ">= 2.0") is part of Debian packaging standards and cannot be bypassed without modifying packages themselves. If you encounter this frequently, consider: 1) Using a rolling-release distribution like Debian Testing or Unstable, 2) Building packages from source to ensure version compatibility, 3) Using containerization (Docker) to isolate different version requirements, or 4) Pinning specific repository versions in /etc/apt/preferences.d/. Always avoid mixing stable and unstable Debian repositories unless you fully understand the consequences. If you are a package maintainer, this error in your users' systems indicates your package has overly strict version requirements that may not be necessary.
E: Could not connect to proxy server
Could not connect to proxy server
E: Package 'package:i386' has no installation candidate
How to fix "Package package:i386 has no installation candidate" in apt
E: The value 'value' is invalid for APT::Default-Release
How to fix invalid APT::Default-Release value in APT
dpkg: error: unable to create new file 'path': Permission denied
How to fix dpkg permission denied errors in APT
subprocess installed post-removal script returned error exit status 1
How to fix "subprocess installed post-removal script returned error exit status 1" in APT