我们在虚拟存储库中有2个远程NPM注册表。其中一个是NPM Registry,另一个来自软件提供商。当我将第二个存储库添加到虚拟存储库时,我随机收到HTTP 400消息。
例如:如果我想从npm-registry安装一个包,我会看到Artifactory试图从其他存储库(没有包)获取包的日志,并尝试解析响应作为json。来自其他存储库的响应会返回一个html文件,但会导致以下错误消息:
2017-02-23 09:39:05,424 [http-nio-8080-exec-7112] [ERROR]
(o.a.a.n.r.NpmRemoteRepoHandler:362) - Error while parsing the response of a remote npm
JSON query on 'https://repository.domain.com/api/npm/public/file-loader':
Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object,
'true', 'false' or 'null')
at [Source:org.artifactory.storage.db.binstore.service.UsageTrackingBinaryProvider$ReaderTrackingStream@7360bc6c; line: 1, column: 2]
如您所见,Artifactory正试图从其他存储库获取包。当我尝试手动获取包时,我们的神器的JSON响应是:
{
"errors" : [ {
"status" : 400,
"message" : "Unable to parse remote repository npm metadata."
} ]
}
任何帮助将不胜感激,因为这使得NPM注册表完全无用,因为一些请求返回此HTTP 400错误。
fyi:我们正在使用Artifactory Pro 4.5.1
答案 0 :(得分:2)
你应该做两件事来避免这种行为
要检查的另一件事是软件提供程序远程存储库是否配置正确。通常它不应该为API调用返回HTML响应。