{"record":{"id":"5ce5380e9a5ed669","repo":"badges/shields","slug":"version-requirement-not-found","errorCode":null,"errorMessage":"version requirement not found","messagePattern":"version requirement not found","errorType":"exception","errorClass":"NotFound","httpStatus":404,"severity":"error","filePath":"services/packagist/packagist-dependency-version.service.js","lineNumber":106,"sourceCode":"      try {\n        packageVersion = await this.findSpecifiedVersion(\n          versions,\n          user,\n          repo,\n          version,\n          server,\n        )\n      } catch (e) {\n        packageVersion = null\n      }\n    }\n\n    if (!packageVersion) {\n      throw new NotFound({ prettyMessage: 'invalid version' })\n    }\n\n    if (!packageVersion.require) {\n      throw new NotFound({ prettyMessage: 'version requirement not found' })\n    }\n\n    // All dependencies' names in the 'require' section from the response should be lowercase,\n    // so that we can compare lowercase name of the dependency given via url by the user.\n    Object.keys(packageVersion.require).forEach(dependency => {\n      packageVersion.require[dependency.toLowerCase()] =\n        packageVersion.require[dependency]\n    })\n\n    const depLowerCase = dependency.toLowerCase()\n\n    if (!packageVersion.require[depLowerCase]) {\n      throw new NotFound({ prettyMessage: 'version requirement not found' })\n    }\n\n    return { dependencyVersion: packageVersion.require[depLowerCase] }\n  }\n","sourceCodeStart":88,"sourceCodeEnd":124,"githubUrl":"https://github.com/badges/shields/blob/766fd8bc89a90b8534dc573ab72dec30215ab1ec/services/packagist/packagist-dependency-version.service.js#L88-L124","documentation":"This NotFound error means the requested package version WAS found on Packagist, but that version's metadata has no 'require' section — i.e. its composer.json declares no dependencies. The service needs the require map to look up the dependency's constraint.","triggerScenarios":"Querying a dependency version for a package version whose composer.json has an empty or missing 'require' key (e.g. a package with no dependencies), such as /packagist/user/pkg/1.0.0/dep where pkg@1.0.0 requires nothing.","commonSituations":"Asking a dependency badge for a dependency of a dependency-less package; querying leaf/utility packages that declare no require entries.","solutions":["Verify the target package version actually declares the dependency you are querying (check its composer.json on packagist.org)","Remove the dependency-version badge for packages with no dependencies","Query a different version of the package that does include the require entry","If you maintain the package, add the correct require entries in composer.json and publish a new version"],"exampleFix":"// before\nGET /packagist/vendor/leaf-package/1.0.0/symfony/console  ->  NotFound\n// after\nGET /packagist/vendor/full-package/1.0.0/symfony/console","handlingStrategy":"validation","validationCode":"const versionMeta = await getPackagistVersionMeta(user, repo, version)\nif (!versionMeta || !versionMeta.require || Object.keys(versionMeta.require).length === 0) throw new Error('Package version declares no dependencies; dependency badge not applicable')","typeGuard":"function hasRequireSection(pkgVersion) {\n  return typeof pkgVersion === 'object' && pkgVersion !== null && typeof pkgVersion.require === 'object' && pkgVersion.require !== null && Object.keys(pkgVersion.require).length > 0\n}","tryCatchPattern":"try {\n  const result = await dependencyVersion(user, repo, dep, version)\n} catch (e) {\n  if (e instanceof NotFound && e.message === 'version requirement not found') console.warn('This package version has no require section; skip the dependency badge')\n  else throw e\n}","preventionTips":["Only add dependency badges for packages that declare dependencies in composer.json","Inspect the package's composer.json require section before adding the badge","Verify the target version is not a dependency-less release"],"tags":["packagist","not-found","composer","dependency"],"backgroundTag":"resource-not-found","analyzedSha":"766fd8bc89a90b8534dc573ab72dec30215ab1ec","analyzedAt":"2026-08-30T01:40:27.499Z","schemaVersion":2},"datasetVersion":"2026-08-30T03:17:51.788Z"}