JFrog私人注册表无法npm安装

时间:2020-04-22 16:05:03

标签: npm artifactory

我在JFrog NPM私有存储库中遇到问题。

在我们的CI中,我们配置npm私有注册表,然后像这样执行npm install

- npm_private_registry https://DOMAIN.jfrog.io/DOMAIN/api/npm/npm-virtual/ $TOKEN
- npm install

当我们使用node:12.13.1 Docker映像时,此代码可以很好地工作。

我们的问题是,一旦我们将图像更改为较新的图像,我们假设node:12.16.1然后npm install命令就会失败。

我们然后收到以下错误:

$ npm install
(wd=/builds/DOMAIN/APP)
 npm WARN tar ENOENT: no such file or directory, open '/builds/DOMAIN/APP/node_modules/.staging/react-icons-921e2ffa/go/package.json'
 npm WARN tar ENOENT: no such file or directory, open '/builds/DOMAIN/APP/node_modules/.staging/intl-58a6f707/locale-data/jsonp/gsw-FR.js'
...
...
...
 npm ERR! Response timeout while trying to fetch https://DOMAIN.jfrog.io/DOMAIN/api/npm/npm-virtual/next (over 30000ms)

我们已经尝试了各种方法,但是暂时还没有发现任何问题。 有谁知道从哪里开始? 这个问题似乎很普遍。如何在一个版本的node图片上超时,而在另一个版本上没有问题?

谢谢!

1 个答案:

答案 0 :(得分:1)

似乎此链接https://github.com/npm/cli/issues/1151提供了一些解释。通过npm-registry-fetch在npm 16.4.0中将超时硬编码为30000 ms。现在,它已恢复为不再超时https://github.com/npm/npm-registry-fetch/commit/fc5d94c39ca218d78df77249ab3a6bf1d9ed9db1。此修复程序位于npm https://github.com/npm/cli/releases/tag/v6.14.5的6.14.5中。

对于具有节点版本的默认npm而言,这意味着版本12.16.2和12.16.3的节点通过npm 6.14.4包含此问题。