Jenkins couldn’t install a plugin because a required dependency was unavailable or incompatible.

Common Causes and Fixes

  1. 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.
  2. 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, if plugin-A requires dependency-X version 1.2.3 and you have 1.1.0 installed, find and install dependency-X 1.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.
  3. Network Connectivity/Proxy Issues:

    • Diagnosis: Jenkins tries to download plugins from updates.jenkins.io or 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, try curl -v https://updates.jenkins.io/. If you use a proxy, check Jenkins’ system properties (-Dhttp.proxyHost=proxy.example.com -Dhttp.proxyPort=8080) or Manage 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.
  4. 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/plugins directory 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/plugins directory 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.
  5. 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 -> Advanced section 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.
  6. Insufficient Disk Space on Jenkins Controller:

    • Diagnosis: Check the available disk space on the Jenkins controller, specifically where JENKINS_HOME is located. Use df -h on Linux/macOS or check drive properties on Windows.
    • Fix: Free up disk space by removing old logs, build artifacts, or unused files. Ensure JENKINS_HOME has 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 plugins directory. Insufficient space prevents these operations.
  7. Permissions Issues on JENKINS_HOME:

    • Diagnosis: Ensure the user running the Jenkins process has write permissions to the JENKINS_HOME/plugins directory. Check ownership and permissions with ls -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/plugins and sudo chmod -R u+w JENKINS_HOME/plugins.
    • Why it works: Jenkins needs to be able to write new plugin files and directories into its plugins folder. Lack of permissions blocks this.

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.

Want structured learning?

Take the full Jenkins course →