[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"package:cask:sonarqube-cli:zh":3,"releases:stats:cask:sonarqube-cli:zh":345,"releases:cask:sonarqube-cli:1:false:false:zh":346,"releases-count:cask:sonarqube-cli:true:zh":435},{"accentColor":4,"artifacts":5,"autoUpdates":28,"categories":33,"conflictsWith":39,"dependsOn":42,"deprecated":28,"description":52,"descriptionEn":53,"developer":54,"disabled":28,"displayName":55,"downloadSha256":56,"downloadSize":57,"downloadUrl":58,"editorChoice":28,"formulaeUrl":59,"homepage":60,"iconUrl":61,"installCommand":62,"installs":63,"installs30d":64,"isFont":28,"isLibrary":28,"kegOnly":28,"kind":67,"latestRelease":68,"machineTranslated":71,"name":55,"names":102,"platforms":104,"primaryCategory":315,"rank30d":316,"releaseCount":317,"releaseStats":318,"repoUrl":324,"screenshots":325,"sourceLocale":96,"sourceUrl":333,"summary":334,"summaryTranslation":335,"supports":337,"tags":339,"tap":344,"token":103,"version":101,"versionChangedAt":73},"#290043",{"apps":6,"binaries":7,"entries":9,"pkgs":32},[],[8],"sonar",[10,19],{"declaration":11,"phase":16,"sources":17,"target":15,"type":18},{"binary":12,"target":15},[13,14],"sonarqube-cli-1.9.0.15656-macos-arm64.bin",{"target":8},"$HOMEBREW_PREFIX\u002Fbin\u002Fsonar","install",[13],"binary",{"declaration":20,"phase":29,"sources":30,"type":31},{"zap":21},[22],{"script":23},{"args":24,"executable":13,"must_succeed":28},[25,26,27],"system","reset","--force",false,"cleanup",[],"zap",[],[34],{"icon":35,"machineTranslated":28,"name":36,"slug":37,"sourceLocale":38},"lucide:code-xml","开发工具","developer-tools","zh-CN",{"casks":40,"formulae":41},[],[],{"arch":43,"casks":45,"formulae":46,"requirements":47},[44],"arm64",[],[],{"arch":48},[49],{"bits":50,"type":51},64,"arm","SonarQube CLI 是 SonarSource 面向 SonarQube 项目开发者的命令行界面。其可执行程序为 `sonar`；它不同于 SonarScanner CLI（`sonar-scanner`）、IDE 和 SonarQube 服务器。它适合希望在终端中获取质量与安全反馈、检查问题，以及使用受支持的编码代理集成的开发者。\n\n## 功能\n- 分析受支持的本地更改，检测受支持的安全问题和密钥泄露。\n- 查看项目质量门禁、问题和文件级结果。\n- 获取项目上下文，通过钩子和 MCP 配置集成受支持的编码代理。\n- 将工作仓库关联到 SonarQube 项目，并导入已连接的 DevOps 仓库。\n- 使用结构化输出供脚本处理，并查看身份验证或更新状态。\n- 在可用时查看本地使用统计信息。\n\n部分命令有各自的成熟度标记：版本 1.9 引入了处于公开测试阶段的仓库导入功能，以及处于 Alpha 阶段的本地统计功能。功能可用性还取决于所连接的服务、项目配置、版本类型和使用权限；安装 CLI 并不会获得所有服务器端功能。\n\n## 安装与平台要求\n安装官方 macOS ARM64 二进制文件，或使用 `brew install --cask sonarqube-cli`，然后按照官方快速入门指南完成身份验证并连接项目。此 cask 分发的是 Apple Silicon macOS 构建。官方 README 还列出了 Linux x86-64 和 ARM64 以及 Windows x86-64 构建；未列出原生 Intel macOS 构建。Rosetta 无法让 ARM64 可执行程序在 Intel Mac 上运行。所查阅的 CLI 文档未指定确切的最低 macOS 版本，因此此处不声明具体的最低版本号。\n\nCLI 需要能够访问 SonarQube Cloud 或自行托管的 SonarQube Server 25.1 或更高版本。Git 2.x 是 Git 钩子集成的可选依赖，编码代理集成则需要相应的受支持代理。请遵循各项分析功能的附加要求；不要将 SonarScanner CLI 的 Java 要求不加区分地套用于这个不同的软件包。cask 的架构限制并不意味着支持所有基于 ARM 的操作系统。\n\n## 身份验证、集成与隐私\n请使用适合你的 SonarQube 服务和项目的账户及权限。官方快速入门指南要求使用用户令牌进行令牌身份验证；项目令牌、全局令牌和限定范围的组织令牌无法在此 CLI 中正常工作。当前版本还支持文档中说明的浏览器身份验证流程。请保护凭据，并遵循组织批准的存储和轮换规范。\n\n命令会联系已配置的 SonarQube 服务，分析或代理功能可能会按照文档所述的工作流程传输代码或相关项目上下文。这并不保证所有分析均在离线状态下进行。在发送私有仓库或启用代理集成之前，请检查组织的政策。\n\n集成命令可能会写入配置、安装支持组件并更改钩子。请检查这些更改，尤其是共享 Git 钩子、全局代理配置和 MCP 条目。版本 1.9 会在首次使用时将旧的项目级集成迁移到全局配置；如果无法找到项目键，请手动关联项目。现有代理工具、钩子框架、通过环境变量提供的凭据以及服务器政策都可能影响行为；这并不意味着它与其他开发工具普遍冲突。\n\nREADME 说明了匿名使用遥测和 Sentry 错误报告，并提供了退出选项。1.9 引入的本地统计功能有单独的同意标记，与常规遥测相互独立；本地统计的同意设置不会禁用其他网络功能。请查阅当前的遥测文档和项目隐私要求。\n\n## 账户、费用与许可证\nCLI 源代码采用 LGPL 版本 3 或更高版本许可证。下载此客户端本身并不等于购买 SonarQube Cloud、商业 Server 版本或编码代理订阅。云端和服务器套餐、私有项目功能、高级分析及代理使用权限各有其账户、条款和可能产生的费用。请查阅当前的服务定价，不要假设所有分析都免费或已包含在此二进制文件中。\n\n根据 HTTP HEAD 信息，官方 macOS ARM64 1.9.0.15656 二进制文件的大小为 67,267,232 字节。已安装组件、缓存和分析数据可能需要额外空间。\n\n来源：[官方 CLI](https:\u002F\u002Fwww.sonarsource.com\u002Fsonarqube\u002Fcli\u002F)、[README 与平台要求](https:\u002F\u002Fgithub.com\u002FSonarSource\u002Fsonarqube-cli)、[快速入门](https:\u002F\u002Fdocs.sonarsource.com\u002Fsonarqube-cli\u002Fquickstart-guide)、[许可证](https:\u002F\u002Fgithub.com\u002FSonarSource\u002Fsonarqube-cli\u002Fblob\u002Fmaster\u002FLICENSE.txt)、[发布历史](https:\u002F\u002Fgithub.com\u002FSonarSource\u002Fsonarqube-cli\u002Freleases)。","Code quality and security for terminal workflows, scripts, and AI agents","SonarSource SA","SonarQube CLI","8de8ec62c3614a9abb7053114fda85b9460b6ebdbca7bb612c6e58dc88ab2015",67267232,"https:\u002F\u002Fbinaries.sonarsource.com\u002FDistribution\u002Fsonarqube-cli\u002F1.9.0.15656\u002Fmacos\u002Fsonarqube-cli-1.9.0.15656-macos-arm64.bin","https:\u002F\u002Fformulae.brew.sh\u002Fcask\u002Fsonarqube-cli","https:\u002F\u002Fwww.sonarsource.com\u002Fsonarqube\u002Fcli\u002F","https:\u002F\u002Fcdn.opennavo.com\u002Ficons\u002Fuploads\u002F375dd287dd04\u002F3463946f851b-256.png","brew install --cask sonarqube-cli",{"d30":64,"d365":65,"d90":66},711,2622,2492,"cask",{"bodyMarkdown":69,"brewCommittedAt":70,"hasNotes":71,"id":72,"isLatest":71,"isPrerelease":28,"machineTranslated":28,"publishedAt":73,"sections":74,"source":95,"sourceLocale":96,"summary":97,"title":98,"translation":99,"version":101},"## SonarQube CLI 1.9.0.15656\n\n新增全局集成、仓库导入和本地统计。\n\n### 集成\n\n- 将集成移至全局配置，并在首次运行时迁移。\n- 在开放测试版中新增仓库导入，并在 Alpha 阶段新增本地统计。\n\n### 工作流\n\n- 新增非交互式令牌登录和一致的结构化输出。\n- 将更新状态改为子命令，并支持 GitLab 作业模板。\n\n### 安全\n\n- 加强 OAuth 回环绑定和身份验证回调验证。\n- 验证服务器 URL，并拒绝 URL 和项目密钥中的换行符。\n\n### 修复\n\n- 将推送前扫描限制为已更改的文件，而非整个仓库。\n- 修复 Vortex 保留\u002F移除决策不一致以及错误原因缺失的问题。\n\n仓库导入仍处于开放测试版，本地统计仍处于 Alpha 阶段。本地统计的同意选项与常规遥测分开；全局迁移会更改集成配置。\n\n来源：[官方发布说明](https:\u002F\u002Fgithub.com\u002FSonarSource\u002Fsonarqube-cli\u002Freleases\u002Ftag\u002F1.9.0.15656)。","2026-09-30T03:33:17Z",true,1885,"2026-10-07T09:38:42.722922Z",[75,80,85,90],{"area":76,"items":77},"集成",[78,79],"将集成移至全局配置，并在首次运行时迁移。","在开放测试版中新增仓库导入，并在 Alpha 阶段新增本地统计。",{"area":81,"items":82},"工作流",[83,84],"新增非交互式令牌登录和一致的结构化输出。","将更新状态改为子命令，并支持 GitLab 作业模板。",{"area":86,"items":87},"安全",[88,89],"加强 OAuth 回环绑定和身份验证回调验证。","验证服务器 URL，并拒绝 URL 和项目密钥中的换行符。",{"area":91,"items":92},"修复",[93,94],"将推送前扫描限制为已更改的文件，而非整个仓库。","修复 Vortex 保留\u002F移除决策不一致以及错误原因缺失的问题。","editorial","en-US","新增全局集成、仓库导入和本地统计。","SonarQube CLI 1.9.0.15656",{"locale":38,"machineTranslated":28,"sourceLocale":96,"status":100},"manual","1.9.0.15656",[55,103],"sonarqube-cli",[105,135,165,195,225,255,285],{"arch":44,"artifacts":106,"conflictsWith":123,"dependsOn":126,"downloadSha256":56,"downloadUrl":58,"macos":133,"requiresRosetta":28,"tag":134,"version":101},{"apps":107,"binaries":108,"entries":109,"pkgs":122},[],[8],[110,115],{"declaration":111,"phase":16,"sources":114,"target":15,"type":18},{"binary":112,"target":15},[13,113],{"target":8},[13],{"declaration":116,"phase":29,"sources":121,"type":31},{"zap":117},[118],{"script":119},{"args":120,"executable":13,"must_succeed":28},[25,26,27],[],[],{"casks":124,"formulae":125},[],[],{"arch":127,"casks":128,"formulae":129,"requirements":130},[44],[],[],{"arch":131},[132],{"bits":50,"type":51},"27","arm64_golden_gate",{"arch":44,"artifacts":136,"conflictsWith":153,"dependsOn":156,"downloadSha256":56,"downloadUrl":58,"macos":163,"requiresRosetta":28,"tag":164,"version":101},{"apps":137,"binaries":138,"entries":139,"pkgs":152},[],[8],[140,145],{"declaration":141,"phase":16,"sources":144,"target":15,"type":18},{"binary":142,"target":15},[13,143],{"target":8},[13],{"declaration":146,"phase":29,"sources":151,"type":31},{"zap":147},[148],{"script":149},{"args":150,"executable":13,"must_succeed":28},[25,26,27],[],[],{"casks":154,"formulae":155},[],[],{"arch":157,"casks":158,"formulae":159,"requirements":160},[44],[],[],{"arch":161},[162],{"bits":50,"type":51},"26","arm64_tahoe",{"arch":44,"artifacts":166,"conflictsWith":183,"dependsOn":186,"downloadSha256":56,"downloadUrl":58,"macos":193,"requiresRosetta":28,"tag":194,"version":101},{"apps":167,"binaries":168,"entries":169,"pkgs":182},[],[8],[170,175],{"declaration":171,"phase":16,"sources":174,"target":15,"type":18},{"binary":172,"target":15},[13,173],{"target":8},[13],{"declaration":176,"phase":29,"sources":181,"type":31},{"zap":177},[178],{"script":179},{"args":180,"executable":13,"must_succeed":28},[25,26,27],[],[],{"casks":184,"formulae":185},[],[],{"arch":187,"casks":188,"formulae":189,"requirements":190},[44],[],[],{"arch":191},[192],{"bits":50,"type":51},"15","arm64_sequoia",{"arch":44,"artifacts":196,"conflictsWith":213,"dependsOn":216,"downloadSha256":56,"downloadUrl":58,"macos":223,"requiresRosetta":28,"tag":224,"version":101},{"apps":197,"binaries":198,"entries":199,"pkgs":212},[],[8],[200,205],{"declaration":201,"phase":16,"sources":204,"target":15,"type":18},{"binary":202,"target":15},[13,203],{"target":8},[13],{"declaration":206,"phase":29,"sources":211,"type":31},{"zap":207},[208],{"script":209},{"args":210,"executable":13,"must_succeed":28},[25,26,27],[],[],{"casks":214,"formulae":215},[],[],{"arch":217,"casks":218,"formulae":219,"requirements":220},[44],[],[],{"arch":221},[222],{"bits":50,"type":51},"14","arm64_sonoma",{"arch":44,"artifacts":226,"conflictsWith":243,"dependsOn":246,"downloadSha256":56,"downloadUrl":58,"macos":253,"requiresRosetta":28,"tag":254,"version":101},{"apps":227,"binaries":228,"entries":229,"pkgs":242},[],[8],[230,235],{"declaration":231,"phase":16,"sources":234,"target":15,"type":18},{"binary":232,"target":15},[13,233],{"target":8},[13],{"declaration":236,"phase":29,"sources":241,"type":31},{"zap":237},[238],{"script":239},{"args":240,"executable":13,"must_succeed":28},[25,26,27],[],[],{"casks":244,"formulae":245},[],[],{"arch":247,"casks":248,"formulae":249,"requirements":250},[44],[],[],{"arch":251},[252],{"bits":50,"type":51},"13","arm64_ventura",{"arch":44,"artifacts":256,"conflictsWith":273,"dependsOn":276,"downloadSha256":56,"downloadUrl":58,"macos":283,"requiresRosetta":28,"tag":284,"version":101},{"apps":257,"binaries":258,"entries":259,"pkgs":272},[],[8],[260,265],{"declaration":261,"phase":16,"sources":264,"target":15,"type":18},{"binary":262,"target":15},[13,263],{"target":8},[13],{"declaration":266,"phase":29,"sources":271,"type":31},{"zap":267},[268],{"script":269},{"args":270,"executable":13,"must_succeed":28},[25,26,27],[],[],{"casks":274,"formulae":275},[],[],{"arch":277,"casks":278,"formulae":279,"requirements":280},[44],[],[],{"arch":281},[282],{"bits":50,"type":51},"12","arm64_monterey",{"arch":44,"artifacts":286,"conflictsWith":303,"dependsOn":306,"downloadSha256":56,"downloadUrl":58,"macos":313,"requiresRosetta":28,"tag":314,"version":101},{"apps":287,"binaries":288,"entries":289,"pkgs":302},[],[8],[290,295],{"declaration":291,"phase":16,"sources":294,"target":15,"type":18},{"binary":292,"target":15},[13,293],{"target":8},[13],{"declaration":296,"phase":29,"sources":301,"type":31},{"zap":297},[298],{"script":299},{"args":300,"executable":13,"must_succeed":28},[25,26,27],[],[],{"casks":304,"formulae":305},[],[],{"arch":307,"casks":308,"formulae":309,"requirements":310},[44],[],[],{"arch":311},[312],{"bits":50,"type":51},"11","arm64_big_sur",{"icon":35,"machineTranslated":28,"name":36,"slug":37,"sourceLocale":38},234,7,{"brewLag":319,"cadence":323,"count30d":321},{"compared":320,"earlierCount":321,"medianMinutes":322},3,1,153722867,"biweekly","https:\u002F\u002Fgithub.com\u002FSonarSource\u002Fsonarqube-cli",[326],{"caption":327,"height":328,"machineTranslated":71,"sourceLocale":96,"theme":329,"thumbUrl":330,"url":331,"width":332},"官方终端密钥检测演示；平台未注明，并非当前的 Mac 图形界面。",370,"light","https:\u002F\u002Fcdn.opennavo.com\u002Fscreenshots\u002Fuploads\u002Fscreenshot\u002F44324ac8b84b\u002F0e0e186143e9-640.png","https:\u002F\u002Fcdn.opennavo.com\u002Fscreenshots\u002Fuploads\u002Fscreenshot\u002F44324ac8b84b\u002F0e0e186143e9-1280.png",1280,"https:\u002F\u002Fgithub.com\u002Fhomebrew\u002Fhomebrew-cask\u002Fblob\u002FHEAD\u002FCasks\u002Fs\u002Fsonarqube-cli.rb","面向开发者的命令行界面，用于 SonarQube 分析、质量门禁、问题管理及支持的编程代理集成。",{"locale":38,"machineTranslated":71,"sourceLocale":96,"status":336},"machine",{"arm64":71,"requiresRosetta":28,"status":338,"x86_64":28},"known",[340,341,342,343],"SonarQube","CLI","Security","DevOps","homebrew\u002Fcask",null,{"current":321,"records":347,"size":432,"stats":433,"total":317},[348,359,387,410,417,422,427],{"bodyMarkdown":69,"brewCommittedAt":70,"hasNotes":71,"id":72,"isLatest":71,"isPrerelease":28,"machineTranslated":28,"publishedAt":73,"sections":349,"source":95,"sourceLocale":96,"summary":97,"title":98,"translation":358,"version":101},[350,352,354,356],{"area":76,"items":351},[78,79],{"area":81,"items":353},[83,84],{"area":86,"items":355},[88,89],{"area":91,"items":357},[93,94],{"locale":38,"machineTranslated":28,"sourceLocale":96,"status":100},{"bodyMarkdown":360,"brewCommittedAt":361,"hasNotes":71,"id":362,"isLatest":28,"isPrerelease":28,"machineTranslated":71,"publishedAt":363,"sections":364,"source":95,"sourceLocale":96,"summary":383,"title":384,"translation":385,"version":386},"## SonarQube CLI 1.8.0.5274\n\n扩展质量门禁下钻功能，并新增手动项目关联功能。\n\n### 质量门禁\n\n- 新增类别及最差文件或问题的下钻控件。\n- 支持文件或目录范围，并自动解析拉取请求。\n\n### 项目\n\n- 新增 sonar link，用于手动绑定代码仓库与项目。\n- 新增文件筛选功能，默认列出处于开放或已确认状态的问题。\n\n### 集成\n\n- 支持全局 Vortex 钩子和会话启动时的上下文传递。\n- 新增 Alpha 阶段的 GitLab CI 接入引导。\n\n### 修复\n\n- 修正 Cloud 项目和 Server 新代码问题的筛选器。\n- 根据代码仓库边界验证变更集路径。\n\n此版本将支持的最低 SonarQube Server 版本提升至 25.1。高级下钻数据取决于所连接的服务及项目权限。\n\n来源：[官方发布说明](https:\u002F\u002Fgithub.com\u002FSonarSource\u002Fsonarqube-cli\u002Freleases\u002Ftag\u002F1.8.0.5274)。","2026-09-15T08:24:24Z",1886,"0001-01-01T00:00:00Z",[365,370,375,379],{"area":366,"items":367},"质量门禁",[368,369],"新增类别控件，以及查看表现最差的文件或问题详情的控件。","支持文件或目录范围，以及自动解析拉取请求。",{"area":371,"items":372},"项目",[373,374],"新增 sonar link，用于手动将仓库绑定到项目。","新增文件筛选，默认列出未关闭或已确认的问题。",{"area":76,"items":376},[377,378],"支持全局 Vortex 钩子和会话启动时的上下文传递。","在 Alpha 中新增 GitLab CI 入门配置。",{"area":91,"items":380},[381,382],"修正 Cloud 项目筛选器和 Server 新代码问题筛选器。","验证变更集路径是否位于仓库边界内。","扩展质量门禁详情查看功能，并新增手动项目关联。","SonarQube CLI 1.8.0.5274",{"locale":38,"machineTranslated":71,"sourceLocale":96,"status":336},"1.8.0.5274",{"bodyMarkdown":388,"brewCommittedAt":389,"hasNotes":71,"id":390,"isLatest":28,"isPrerelease":28,"machineTranslated":71,"publishedAt":363,"sections":391,"source":95,"sourceLocale":96,"summary":406,"title":407,"translation":408,"version":409},"## SonarQube CLI 1.7.0.4638\n\n新增终端质量门禁判定结果，并改进 Git 钩子串联。\n\n### 命令\n\n- 新增质量门禁状态，并为不同判定结果提供不同的退出码。\n- 将 sonar context 从公开测试版升级为稳定版。\n\n### 集成\n\n- 安装全局 Git 钩子时，串联现有的本地钩子。\n- 检查 Server CAG Hub 中的 Vortex 使用权限。\n\n### 修复\n\n- 将自定义 SONAR_USER_HOME 传入生成的 MCP 配置。\n- 将 Claude Code 钩子固定到项目目录。\n- 清理超时的 stdin 监听器，并保留共享二进制文件。\n\n来源：[官方发布说明](https:\u002F\u002Fgithub.com\u002FSonarSource\u002Fsonarqube-cli\u002Freleases\u002Ftag\u002F1.7.0.4638)。","2026-08-31T13:56:54Z",1887,[392,397,401],{"area":393,"items":394},"命令",[395,396],"新增质量门禁状态，为不同判定提供不同的退出码。","将 sonar context 从公开测试版升级为稳定版。",{"area":76,"items":398},[399,400],"安装全局 Git 钩子时，串联现有的本地钩子。","通过 Server CAG Hub 检查 Vortex 使用权限。",{"area":91,"items":402},[403,404,405],"将自定义 SONAR_USER_HOME 传入生成的 MCP 配置。","将 Claude Code 钩子锚定到项目目录。","清理已超时的 stdin 监听器，并保留共享二进制文件。","新增终端质量门禁判定，并改进 Git 钩子的串联。","SonarQube CLI 1.7.0.4638",{"locale":38,"machineTranslated":71,"sourceLocale":96,"status":336},"1.7.0.4638",{"brewCommittedAt":411,"hasNotes":28,"isLatest":28,"isPrerelease":28,"sections":412,"source":413,"translation":414,"version":416},"2026-08-18T10:40:32Z",[],"homebrew",{"status":415},"none","1.6.0.4255",{"brewCommittedAt":418,"hasNotes":28,"isLatest":28,"isPrerelease":28,"sections":419,"source":413,"translation":420,"version":421},"2026-08-07T10:52:47Z",[],{"status":415},"1.5.0.4158",{"brewCommittedAt":423,"hasNotes":28,"isLatest":28,"isPrerelease":28,"sections":424,"source":413,"translation":425,"version":426},"2026-07-20T20:04:45Z",[],{"status":415},"1.4.0.3748",{"brewCommittedAt":428,"hasNotes":28,"isLatest":28,"isPrerelease":28,"sections":429,"source":413,"translation":430,"version":431},"2026-07-06T17:33:01Z",[],{"status":415},"1.3.0.3493",20,{"brewLag":434,"cadence":323,"count30d":321},{"compared":320,"earlierCount":321,"medianMinutes":322},{"current":321,"records":436,"size":321,"stats":448,"total":317},[437],{"bodyMarkdown":69,"brewCommittedAt":70,"hasNotes":71,"id":72,"isLatest":71,"isPrerelease":28,"machineTranslated":28,"publishedAt":73,"sections":438,"source":95,"sourceLocale":96,"summary":97,"title":98,"translation":447,"version":101},[439,441,443,445],{"area":76,"items":440},[78,79],{"area":81,"items":442},[83,84],{"area":86,"items":444},[88,89],{"area":91,"items":446},[93,94],{"locale":38,"machineTranslated":28,"sourceLocale":96,"status":100},{"brewLag":449,"cadence":323,"count30d":321},{"compared":320,"earlierCount":321,"medianMinutes":322}]