{"record":{"id":"7c8aa6de5aa521f4","repo":"ruby/rubygems","slug":"name-is-locked-to-locked-version-while-gemf","errorCode":null,"errorMessage":"#{name} is locked to #{locked_version}, while Gemfile is requesting #{requirement}. --strict --#{level} was specified, but there are no #{level} level upgrades from #{locked_version} satisfying #{requirement}, so version solving has failed","messagePattern":"#(.+?) is locked to #(.+?), while Gemfile is requesting #(.+?)\\. --strict --#(.+?) was specified, but there are no #(.+?) level upgrades from #(.+?) satisfying #(.+?), so version solving has failed","errorType":"exception","errorClass":"Bundler::GemNotFound","httpStatus":null,"severity":"error","filePath":"lib/bundler/resolver.rb","lineNumber":425,"sourceCode":"      return if locked_platforms.any? {|p| p == Gem::Platform::RUBY }\n\n      \"Your current platform (#{local_platform}) is not included in the lockfile's platforms (#{locked_platforms.join(\", \")}). \" \\\n        \"Add the current platform to the lockfile with\\n`bundle lock --add-platform #{local_platform}` and try again.\"\n    rescue GemfileNotFound\n      nil\n    end\n\n    def filtered_versions_for(package)\n      @gem_version_promoter.filter_versions(package, @all_versions[package])\n    end\n\n    def raise_all_versions_filtered_out!(package)\n      level = @gem_version_promoter.level\n      name = package.name\n      locked_version = package.locked_version\n      requirement = package.dependency\n\n      raise GemNotFound,\n        \"#{name} is locked to #{locked_version}, while Gemfile is requesting #{requirement}. \" \\\n        \"--strict --#{level} was specified, but there are no #{level} level upgrades from #{locked_version} satisfying #{requirement}, so version solving has failed\"\n    end\n\n    def filter_matching_specs(specs, requirements)\n      Array(requirements).flat_map do |requirement|\n        specs.select {| spec| requirement_satisfied_by?(requirement, spec) }\n      end\n    end\n\n    def filter_specs(specs, package)\n      filter_remote_specs(filter_cooldown(filter_prereleases(specs, package)), package)\n    end\n\n    def filter_prereleases(specs, package)\n      return specs unless package.ignores_prereleases? && specs.size > 1\n\n      specs.reject {|s| s.version.prerelease? }","sourceCodeStart":407,"sourceCodeEnd":443,"githubUrl":"https://github.com/ruby/rubygems/blob/86cbb817a38ce8477b181c17467a703ded3f2be8/lib/bundler/resolver.rb#L407-L443","documentation":"Error \"#{name} is locked to #{locked_version}, while Gemfile is requesting #{requirement}. --strict --#{level} was specified, but there are no #{level} level upgrades from #{locked_version} satisfying #{requirement}, so version solving has failed\" thrown in ruby/rubygems.","triggerScenarios":"Thrown at lib/bundler/resolver.rb:425 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"86cbb817a38ce8477b181c17467a703ded3f2be8","analyzedAt":"2026-08-23T06:27:48.159Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}