为什么我得到“客户端没有发布一个校验值…”为npm包

Batel Tova
2023-01-22十一10

关于Artifactory UI中的消息,上传的NPM包中的警告消息只是让你知道,作为工件的一部分,文件的部署校验和尚未提供,因此Artifactory无法验证工件的真实性。

默认情况下,Artifactory根据客户端校验和验证本地校验和值。因此,如果存在不匹配或客户端没有提供校验和,Artifactory会给出这个警告。因此,我们想知道二进制文件是如何部署到Artifactory的。

如果二进制文件是使用CI服务器部署的,则CI服务器需要配置为在PUT请求中使用以下报头传递校验和:

X-Checksum- sha1: sha1Value, X-Checksum- sha256: sha256Value, X-Checksum:校验和值

另一种选择是部署工件校验和,即使用JFrog CLI以便上传工件,甚至执行完整的构建NuGetNpm码头工人Maven而且Gradle

此外,Artifactory中的“Fix Checksum”选项只是接受Artifactory生成的校验和,它不会影响工件本身的任何类型的操作(下载/上传/覆盖/删除)。因此,以编程方式修复这个问题对于Artifactory的平稳运行并不是必需的。

关于验证校验和,一种方法是针对http://registry.npmjs.org验证SHA1工件,例如ansi-regex。
我们取它的SHA1

用户添加图片

然后登记http://registry.npmjs.org/ansi-regex

用户添加图片