【发布时间】:2018-06-21 01:16:17
【问题描述】:
我尝试在 Mac OS 从站上使用 SonarQube Scanner 插件分析 Jenkins 中的 TypeScript 项目。
工具:
- Jenkins(版本 2.32.1)
- SonarQube Scanner for Jenkins插件(2.5版)
- SonarQube Scanner(2.8 版)
- SSH slave插件(1.12版)
- SonarQube(6.7 版)
- SonarTS(1.1 版)
- Mac OS X(版本 10.12.6)
问题:
SonarTS插件尝试启动Node.js,但是Node.js不在PATH变量中,见日志:
Caused by: java.io.IOException: Cannot run program "node": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at org.sonar.plugin.typescript.ExternalTypescriptSensor.executeExternalRunner(ExternalTypescriptSensor.java:175)
研究:
我尝试在 Mac 上配置路径:
-
environment.plist(来自https://stackoverflow.com/a/15313578/5277820)但它不起作用,因为它不再受支持。
-
/etc/launchd.conf(来自https://stackoverflow.com/a/15257454/5277820)但它不起作用,因为它不再受支持。
-
/etc/paths.d/(来自https://apple.stackexchange.com/a/106549)但它不起作用(同样的错误消息)。
我尝试将已添加的路径(/usr/bin、/bin、/usr/sbin、/sbin)用于:
-
符号链接
但它不起作用,因为路径是写保护的(即使对于管理员)。
我尝试将路径传递给 SonarQube 扫描仪:
-
JVM 选项(来自https://stackoverflow.com/a/21094766/5277820)
但它不起作用(同样的错误消息)。
我还阅读了有关更改调用源中的路径的信息:
-
ProcessBuilder#environment()(来自https://stackoverflow.com/a/5155791/5277820)但我没有尝试,因为我不想修补 SonarQube Scanner 源(出于维护原因)。
-
ProcessStarter#setGlobalSearchPath(来自https://stackoverflow.com/a/15206961/5277820)但我没有尝试,因为我不想修补 SonarQube Scanner 源(出于维护原因)。
【问题讨论】:
标签: typescript jenkins sonarqube sonarqube-scan