一、概述

1.1、SonarQube

  1. SonarQube是一个Web 应用服务器,用于存储、展示和管理代码质量分析结果。

作用:

接收来自 Scanner 的分析数据

提供 Web 界面查看 bug、漏洞、坏味道、覆盖率等

支持质量门禁(Quality Gate)、项目管理、权限控制等

1.2、SonarScanner CLI

  1. SonarScanner CLI:官方提供的 独立命令行工具(用 Java 编写),用于分析本地代码并上传结果到 SonarQube。

特点:

支持所有语言(Java、JavaScript、Python、C# 等)

功能最全、性能最好、与 SonarQube 兼容性最佳

需要手动下载安装(.zip 解压)

通过 sonar-project.properties 配置

适用场景:

Java / Maven / Gradle / 多语言混合项目

CI/CD 流水线(Jenkins, GitLab CI 等)

1.3、npx sonarqube-scanner

  1. npx sonarqube-scanner 一个由社区开发的 Node.js 包(非 SonarSource 官方出品),封装了调用 SonarQube API 的逻辑。

特点:

通过 npm 安装:npm install -g sonarqube-scanner

使用 npx sonarqube-scanner 直接运行(无需单独安装)

底层仍依赖官方 SonarScanner CLI(会自动下载并调用它!)

主要面向 JavaScript / TypeScript / 前端项目

配置通过 sonar-project.json 或命令行参数

适用场景:

纯前端项目(React/Vue/Angular)且不想手动管理 Scanner 安装。

三者对比总结

特性

SonarQube

SonarScanner CLI

npx sonarqube-scanner

类型

服务器(Web 应用)

客户端扫描工具(Java)

客户端扫描工具(Node.js 封装)

是否官方

✅ 是

✅ 是

❌ 社区维护

支持语言

所有(依赖插件)

所有

主要前端(JS/TS/CSS)

Java 支持

✅

✅ 强大(需配置 binaries)

⚠️ 弱(不推荐)

安装方式

独立部署

下载 .zip 解压

npm install 或 npx

配置文件

无(Web 配置)

sonar-project.properties

sonar-project.json 或命令行

适用项目

——

后端 / Java / 多语言

前端 / JS 项目

CI/CD 推荐度

——

✅✅✅ 首选

⚠️ 仅限简单前端

二、安装

2.1、SonarQube

下载地址:

https://rules.sonarsource.com/

解压: /home/tools/sonar/sonarqube-25.12.0.117093

执行:

        进入sonarqube-25.12.0.117093/bin/linux-x86-64

        bash sonar.sh start

登录:

http://192.168.1.204:9900/

默认用户及密码:admin/admin

2.2、SonarScanner CLI

下载地址:https://docs.sonarsource.com/sonarqube-server/analyzing-source-code/scanners/sonarscanner

第一步:将下载的 ZIP 文件解压到一个固定目录,比如:

C:\sonar-scanner

解压后目录结构类似:

C:\sonar-scanner\

├── bin\

│   └── sonar-scanner.bat   ← 这就是你要用的命令

├── conf\

│   └── sonar-scanner.properties

└── lib\

第二步:配置环境变量(让系统识别 sonar-scanner 命令)

按下 Win + R,输入 sysdm.cpl,回车 → 打开“系统属性”。

点击 “高级” → “环境变量”。

在 “系统变量” 区域,找到 Path,点击 “”。

点击 “新建”,添加 SonarScanner 的 bin 目录路径:

C:\sonar-scanner\bin

点击“确定”保存所有窗口。

注意:路径必须指向 bin 文件夹,因为 sonar-scanner.bat 在里面。

✅ 第三步:验证是否安装成功

重新打开一个新的命令提示符窗口(重要!旧窗口不会加载新环境变量)。

输入:

sonar-scanner -v

如果看到类似输出,说明安装成功:

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐