Blackduck Synopsys Yarn检测器无法识别package.json项目版本名求助
问题原因
Blackduck 5.6.2版本的Yarn检测器与npm检测器的默认逻辑存在差异:npm检测器默认会读取根目录package.json中的name、version字段作为项目元数据,而该版本的Yarn v1检测器默认仅负责依赖清单解析,不会主动拉取package.json的元字段填充项目信息。你之前传入的-detect.project.version.notes是用于配置版本备注的参数,和项目版本号的读取逻辑无关,因此无法解决问题。
解决方案
无需传入硬编码的版本值,仅需在Blackduck扫描的启动参数中添加对应配置即可:
- 开启package.json元数据读取开关:添加
--detect.package.reference.enabled=true参数,该参数会触发检测器主动读取根目录package.json的name和version字段,作为默认的项目名和版本号 - 如果你的
package.json不在扫描工作目录的根路径,可额外添加--detect.package.reference.path=/自定义路径/package.json指定文件位置,默认会读取当前工作目录下的package.json
调整参数后重新运行扫描,日志出现以下内容则说明元数据读取成功:
INFO [main] --- Using project name found in package.json: <你的项目名称> INFO [main] --- Using project version found in package.json: <你的项目版本号>
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

