You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chocolatey包审核未通过,求助排查URL相关问题

Chocolatey包审核循环失败问题排查

问题概述

提交的Chocolatey包始终无法通过审核:

  • 首次提交收到LicenseUrl无效提示
  • 无修改重新提交后,又出现DocsUrl无效提示
  • 两个URL均有效且可正常访问
  • 怀疑是否要求所有URL必须唯一
  • 错误信息中的标签为TitleCase,但.nuspec文件中使用camelCase
  • 认为缺少requireLicenseAcceptance并非问题原因

.nuspec文件内容

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
  <metadata>
    <id>xnx</id>
    <version>0.2.0</version>
    <authors>Alexander Iurovetski</authors>
    <owners>Alexander Iurovetski</owners>
    <copyright>Copyright (c) 2023 Alexander Iurovetski</copyright>
    <packageSourceUrl>https://community.chocolatey.org/packages/xnx/0.2.0</packageSourceUrl>
    <projectUrl>https://aiurovet.com/applications/xnx.html</projectUrl>
    <docsUrl>https://aiurovet.com/applications/xnx.html</docsUrl>
    <wikiUrl>https://aiurovet.com/applications/xnx.html</wikiUrl>
    <projectSourceUrl>https://github.com/aiurovet/xnx/tree/0.2.0</projectSourceUrl>
    <bugTrackerUrl>https://github.com/aiurovet/xnx/issues</bugTrackerUrl>
    <iconUrl>https://raw.githubusercontent.com/aiurovet/xnx/0.2.0/scripts/mkicons/xnx_192x192.svg</iconUrl>
    <licenseUrl>https://raw.githubusercontent.com/aiurovet/xnx/0.2.0/LICENSE.txt</licenseUrl>
    <mailingListUrl>mailto:xxx@gmail.com</mailingListUrl>
    <releaseNotes>https://raw.githubusercontent.com/aiurovet/xnx/0.2.0/CHANGELOG.md</releaseNotes>
    <tags>utility cli</tags>
    <title>xnx</title>
    <summary>
      Smart search and replace followed by calling external executables.
    </summary>
    <description>
      Command-line utility for Linux, macOS and Windows performing sophisticated
      search and replace followed by calling external executables. It can be
      considered a kind of JSON shell.
    </description>
  </metadata>
  <files>
    <file src="*.ico" target="tools" />
    <file src="../../../../*.md" target="" />
    <file src="../../../../*.txt" target="" />
    <file src="../../../../*.xnxconfig" target="tools" />
    <file src="tools/**" target="tools" />
  </files>
</package>

可能的问题点及修复建议

1. 重复URL的合规性问题

Chocolatey审核规则要求不同字段的URL应指向对应功能的独立页面,虽然没有强制要求所有URL完全唯一,但将projectUrl、docsUrl、wikiUrl都指向同一页面,可能触发审核系统的合规性检查。建议:

  • 若项目没有独立的文档/ wiki页面,可删除docsUrl和wikiUrl字段,仅保留projectUrl
  • 若有对应页面,分别配置正确的独立URL

2. XML标签大小写一致性

Chocolatey的审核系统可能对标签大小写敏感,错误信息中显示TitleCase(如LicenseUrl、DocsUrl),但你的.nuspec使用camelCase(licenseUrl、docsUrl)。虽然NuGet规范允许camelCase,但Chocolatey的审核逻辑可能强制要求TitleCase格式。建议将所有URL相关标签改为TitleCase:

  • licenseUrl → LicenseUrl
  • docsUrl → DocsUrl
  • projectUrl → ProjectUrl
  • 其他如bugTrackerUrl→BugTrackerUrl等统一调整

3. LicenseUrl的访问验证问题

即使URL可正常访问,Chocolatey的审核机器人可能因为以下原因判定无效:

  • 页面返回非200状态码(如重定向)
  • 内容无法被正确解析(如需要登录、反爬机制拦截)
  • 文件格式不符合要求(需纯文本LICENSE文件)
    建议:
  • 检查LicenseUrl的返回状态码,确保无重定向,直接返回200
  • 确认LICENSE文件是纯文本格式,无HTML包装
  • 尝试使用GitHub的raw链接的永久版本(如使用commit哈希而非分支/tag,避免后续分支更新导致链接失效)

4. 缺失requireLicenseAcceptance字段

虽然你认为这不是问题,但Chocolatey的审核规则中,当存在LicenseUrl时,建议显式设置requireLicenseAcceptance为true或false,避免审核系统的潜在误判。可添加:

<requireLicenseAcceptance>false</requireLicenseAcceptance>

5. packageSourceUrl配置错误

packageSourceUrl应指向项目的源代码仓库地址,而非Chocolatey包页面。当前配置的是Chocolatey的包详情页,不符合字段定义。建议改为项目的源代码仓库URL,比如:

<packageSourceUrl>https://github.com/aiurovet/xnx</packageSourceUrl>

内容的提问来源于stack exchange,提问作者Alexander Iurovetski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 20:35:09