Jenkins couldn’t install a plugin because a required dependency was unavailable or incompatible.
Common Causes and Fixes
-
Jenkins Controller Outdated:
- Diagnosis: Check your Jenkins version in
Manage Jenkins->About Jenkins. Many newer plugins require recent Jenkins core versions. - Fix: Update Jenkins. Go to
Manage Jenkins->Manage Plugins->Advanced->Check for updates(or use your package manager/installer). For instance, if you’re on Jenkins 2.200, update to 2.300 or later. - Why it works: Older Jenkins versions have outdated internal libraries or APIs that newer plugins depend on. Updating Jenkins brings in the necessary, updated components.
- Diagnosis: Check your Jenkins version in
-
Plugin Dependency Version Mismatch:
- Diagnosis: Go to
Manage Jenkins->Manage Plugins->Advanced. Find the problematic plugin and look at its "Dependencies" section. Note the required version of the dependency. Then, check the installed version of that dependency. - Fix: Manually install the correct version of the dependency plugin. Navigate to
Manage Jenkins->Manage Plugins->Available. Search for the dependency plugin, select the specific version required by your target plugin, and click "Install without restart" or "Download now and install after restart." For example, ifplugin-Arequiresdependency-Xversion1.2.3and you have1.1.0installed, find and installdependency-X1.2.3. - Why it works: Plugins often rely on specific versions of shared libraries or other plugins. Installing the exact version ensures the required functionality is present and compatible.
- Diagnosis: Go to
-
Network Connectivity/Proxy Issues:
- Diagnosis: Jenkins tries to download plugins from
updates.jenkins.ioor other configured update centers. Check if your Jenkins controller can reach these URLs. From the Jenkins controller’s command line or a shell accessible to it, trycurl -v https://updates.jenkins.io/. If you use a proxy, check Jenkins’ system properties (-Dhttp.proxyHost=proxy.example.com -Dhttp.proxyPort=8080) orManage Jenkins->Configure System->Advanced->HTTP Proxy Configuration. - Fix: Configure Jenkins to use the correct proxy settings in
Manage Jenkins->Configure System->Advanced->HTTP Proxy Configuration. Ensure the proxy allows outbound connections to the Jenkins update servers. If no proxy is needed, ensure it’s not configured or is set to "No proxy". - Why it works: Jenkins needs to download plugin metadata and the plugin JARs themselves. If it can’t reach the update server due to network restrictions or misconfigured proxy settings, installation will fail.
- Diagnosis: Jenkins tries to download plugins from
-
Corrupted Plugin Cache:
- Diagnosis: Jenkins caches downloaded plugin JARs. If a cached file is corrupted, it can cause installation issues. Check the Jenkins controller’s
JENKINS_HOME/pluginsdirectory for incomplete or zero-byte files related to the plugin or its dependencies. - Fix: Manually remove the suspected corrupted plugin files from the
JENKINS_HOME/pluginsdirectory on the Jenkins controller. Then, restart Jenkins. The system will re-download the necessary files. For example,rm JENKINS_HOME/plugins/plugin-to-install.hpi. - Why it works: Removing the bad cache forces Jenkins to fetch a fresh copy of the plugin and its dependencies from the update center.
- Diagnosis: Jenkins caches downloaded plugin JARs. If a cached file is corrupted, it can cause installation issues. Check the Jenkins controller’s
-
Incompatible Plugin Versions (Circular Dependencies or Conflicts):
- Diagnosis: Sometimes, installing one plugin might require a version of a dependency that conflicts with a version required by another already installed plugin. Review the
Manage Jenkins->Manage Plugins->Advancedsection and look for dependency warnings or conflicts. Jenkins logs (Manage Jenkins->System Log) will often show specific version conflicts. - Fix: This is the trickiest. You might need to:
- Downgrade a conflicting plugin.
- Find an alternative plugin that doesn’t have the same dependency conflict.
- Manually install specific versions of multiple plugins to satisfy all requirements.
- If a plugin is truly incompatible with your Jenkins core or other essential plugins, you may have to wait for an updated version of one of them or reconsider its use.
- Why it works: Resolving the conflict by adjusting plugin versions ensures that all required dependencies are met without contradicting each other.
- Diagnosis: Sometimes, installing one plugin might require a version of a dependency that conflicts with a version required by another already installed plugin. Review the
-
Insufficient Disk Space on Jenkins Controller:
- Diagnosis: Check the available disk space on the Jenkins controller, specifically where
JENKINS_HOMEis located. Usedf -hon Linux/macOS or check drive properties on Windows. - Fix: Free up disk space by removing old logs, build artifacts, or unused files. Ensure
JENKINS_HOMEhas at least a few GB free for plugin installations and operation. - Why it works: Jenkins needs space to download and unpack plugin JARs into the
pluginsdirectory. Insufficient space prevents these operations.
- Diagnosis: Check the available disk space on the Jenkins controller, specifically where
-
Permissions Issues on
JENKINS_HOME:- Diagnosis: Ensure the user running the Jenkins process has write permissions to the
JENKINS_HOME/pluginsdirectory. Check ownership and permissions withls -ld JENKINS_HOME/plugins. - Fix: Grant write permissions to the Jenkins user. For example, if Jenkins runs as user
jenkins:sudo chown -R jenkins:jenkins JENKINS_HOME/pluginsandsudo chmod -R u+w JENKINS_HOME/plugins. - Why it works: Jenkins needs to be able to write new plugin files and directories into its
pluginsfolder. Lack of permissions blocks this.
- Diagnosis: Ensure the user running the Jenkins process has write permissions to the
After fixing these, you might encounter No updates available for the requested plugins if the update center itself is unreachable or misconfigured, or if the plugin you’re trying to install is genuinely not found in the configured update centers.