ruby/rubygems · error · GemNotFound

Your bundle is locked to #{locked_gem} from #{locked_gem.sou

Error message

Your bundle is locked to #{locked_gem} from #{locked_gem.source}, but that version can no longer be found in that source. That means either the author of #{locked_gem} has removed it, or you no longer have access to that source. You'll need to update your bundle to a version other than #{locked_gem} that hasn't been removed, or check your credentials and access rights for #{locked_gem.source}, in order to install.

What it means

Error "Your bundle is locked to #{locked_gem} from #{locked_gem.source}, but that version can no longer be found in that source. That means either the author of #{locked_gem} has removed it, or you no longer have access to that source. You'll need to update your bundle to a version other than #{locked_gem} that hasn't been removed, or check your credentials and access rights for #{locked_gem.source}, in order to install." thrown in ruby/rubygems.

Source

Thrown at lib/bundler/definition.rb:732

      if missing_specs.any?
        missing_specs.each do |s|
          locked_gem = @locked_specs[s.name].last
          next if locked_gem.nil? || locked_gem.version != s.version || sources.local_mode?

          message = if sources.implicit_global_source?
            "Because your Gemfile specifies no global remote source, your bundle is locked to " \
            "#{locked_gem} from #{locked_gem.source}. However, #{locked_gem} is not installed. You'll " \
            "need to either add a global remote source to your Gemfile or make sure #{locked_gem} is " \
            "available locally before rerunning Bundler."
          else
            "Your bundle is locked to #{locked_gem} from #{locked_gem.source}, but that version can " \
            "no longer be found in that source. That means either the author of #{locked_gem} has removed it, " \
            "or you no longer have access to that source. You'll need to update your bundle to a version other " \
            "than #{locked_gem} that hasn't been removed, or check your credentials and access rights for " \
            "#{locked_gem.source}, in order to install."
          end

          raise GemNotFound, message
        end

        missing_specs_list = missing_specs.group_by(&:source).map do |source, missing_specs_for_source|
          "#{missing_specs_for_source.map(&:full_name).join(", ")} in #{source}"
        end

        raise GemNotFound, "Could not find #{missing_specs_list.join(" nor ")}"
      end

      partially_missing_specs = resolve.partially_missing_specs

      if partially_missing_specs.any? && !sources.local_mode?
        Bundler.ui.warn "Some locked specs have possibly been yanked (#{partially_missing_specs.map(&:full_name).join(", ")}). Ignoring them..."

        resolve.delete(partially_missing_specs)
      end

      incomplete_specs = resolve.incomplete_specs

View on GitHub (pinned to 86cbb817a3)

When it happens

Trigger: Thrown at lib/bundler/definition.rb:732 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ruby/rubygems@86cbb817a3 (2026-08-23). Data as JSON: /api/errors/c5dc10b22a206c6d. Report an issue: GitHub.