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

如何解决Jenkins集成SonarQube时npm run sonar脚本缺失错误

解决npm run sonar报错:Missing script: "sonar"

这个错误的核心原因是项目的package.json文件中没有定义名为sonar的npm脚本,解决方法如下:

方法一:在package.json中添加sonar脚本

  1. 打开项目根目录下的package.json文件,找到scripts节点。
  2. 在scripts中添加sonar脚本,示例如下:
"scripts": {
  // 保留原有脚本,比如"build": "xxx"等
  "sonar": "sonar-scanner -Dsonar.projectKey=你的项目标识 -Dsonar.sources=./src -Dsonar.host.url=http://你的SonarQube地址:9000 -Dsonar.login=你的SonarQube令牌"
}

参数说明:

  • sonar.projectKey:SonarQube中创建项目时设置的唯一Key
  • sonar.sources:需要扫描的代码目录(根据项目结构调整)
  • sonar.host.url:你的SonarQube服务访问地址
  • sonar.login:在SonarQube个人设置中生成的令牌(替代账号密码更安全)
  1. 确保已经安装sonar-scanner:
    • 全局安装:执行npm install -g sonar-scanner
    • 本地安装:执行npm install sonar-scanner --save-dev,此时脚本里的命令可以改为npx sonar-scanner ...

方法二:直接在Jenkins流水线中调用sonar-scanner命令

如果不想修改package.json,可在Jenkins流水线步骤中直接执行sonar-scanner命令,示例:

sonar-scanner -Dsonar.projectKey=你的项目标识 -Dsonar.sources=./src -Dsonar.host.url=http://你的SonarQube地址:9000 -Dsonar.login=你的SonarQube令牌

额外注意事项

  • 确保Jenkins流水线执行npm run sonar(或sonar-scanner命令)的步骤是在项目根目录下运行的,避免因路径错误找不到package.json或代码文件。

内容的提问来源于stack exchange,提问作者Wilfred richard

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 20:10:34