3

我有一个包含 Javascript 和 Typescript 文件的项目。我正在使用 SonarCloud 从 Azure DevOps 管道分析这个项目。

我在构建管道中设置任务准备分析配置,如下所示:

- task: SonarCloudPrepare@1
  inputs:
    SonarCloud: 'Sonarcloud'
    organization: 'MyOrg'
    scannerMode: 'CLI'
    configMode: 'manual'
    cliProjectKey: 'My key'
    cliProjectName: 'My name'
    cliSources: '.'

运行管道时,我在Sonar Cloud 分析步骤的管道中出现以下错误

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 文件,但不适用于 typescript 文件。我在 package.json 中将typescript包安装为 dev 依赖项,但它似乎被 SonarCloud 忽略了。

我找到的文档和主题与 SonarQube 版本有关,但我不知道如何使用SonarCloud进行设置。

4

1 回答 1

3

默认情况下,node_modules如果您使用 Visual Studio,本地项目文件夹中的文件夹不会添加到源代码管理中。

Run Code Analysis由于任务找不到文件中定义的依赖包,因此会发生此错误package.json。我的可重现步骤:

在此处输入图像描述

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

在此处输入图像描述

NodeJS 是我的项目名称。同样在 Devops 存储库中,这是 package.json 所在文件夹的名称。

然后这个问题在我的管道中消失了:

在此处输入图像描述

希望它对您的问题也有帮助:)

此外:您还可以根据需要选择将本地node_modules文件夹添加到源代码管理中。但在 Azure Devops Service中不建议这样做。

于 2020-01-15T05:46:05.863 回答