我有一个包含Javascript和类型记录文件的项目。我正在使用SonarCloud从Azure DevOps管道中分析这个项目。
我在构建管道中设置了任务准备分析配置,如下所示:
- task: SonarCloudPrepare@1
inputs:
SonarCloud: 'Sonarcloud'
organization: 'MyOrg'
scannerMode: 'CLI'
configMode: 'manual'
cliProjectKey: 'My key'
cliProjectName: 'My name'
cliSources: '.'在运行管道时,在Sonar分析步骤中,我的管道中有以下错误
INFO: Found 1 tsconfig.json file(s): [/home/vsts/work/1/s/tsconfig.json]
##[error]ERROR: Cannot find module 'typescript'
##[error]ERROR: TypeScript dependency was not found and it is required for analysis.
ERROR: Install TypeScript in the project directory or use NODE_PATH env. variable to set TypeScript location, if it's located outside of project directory.
ERROR: TypeScript dependency was not found and it is required for analysis.
ERROR: Install TypeScript in the project directory or use NODE_PATH env. variable to set TypeScript location, if it's located outside of project directory.
##[error]ERROR: Missing TypeScript dependency这种分析对于javascript文件很有效,但对类型记录文件却不起作用。我在我的package.json中将类型记录包安装为dev依赖项,但它似乎被SonarCloud忽略了。
我找到的文档和主题都与SonarQube版本相关,但我不知道如何用SonarCloud设置它。
发布于 2020-01-15 05:46:05
默认情况下,如果使用Visual,本地项目文件夹中的node_modules文件夹将不会添加到源代码管理中。
这个错误会发生,因为Run Code Analysis任务找不到在package.json文件中定义的依赖包。我可复制的一步:

然后,在npm install之前添加一个Prepare Analysis task任务来安装缺少的软件包:

NodeJS是我的项目名称。同样在Devops repos中,这是package.json存在的文件夹的名称。
然后,这个问题在我的酝酿中消失了:

希望它对你的问题也有帮助:)
此外,如果需要,还可以选择将本地文件夹添加到源代码管理中。但这是在Azure服务中不推荐的。
https://stackoverflow.com/questions/59730543
复制相似问题