我在使用 JFrog NPM 私有(private)存储库时遇到问题。
在我们的 CI 中,我们配置 npm 私有(private)注册表,然后像这样执行 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
图像上超时而在另一个版本上没有问题?
谢谢!
最佳答案
好像这个链接https://github.com/npm/cli/issues/1151提供了一些解释。在 npm 16.4.0 中,超时通过 npm-registry-fetch 硬编码为 30000 毫秒。现在已恢复为不再超时 https://github.com/npm/npm-registry-fetch/commit/fc5d94c39ca218d78df77249ab3a6bf1d9ed9db1 .此修复位于 npm 的 6.14.5 https://github.com/npm/cli/releases/tag/v6.14.5 .
就节点版本的默认 npm 而言,这意味着节点的版本 12.16.2 和 12.16.3 通过 npm 6.14.4 包含此问题。
关于npm - JFrog private registry 无法 npm install,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61369707/