npm - JFrog private registry 无法 npm install

标签 npm artifactory

我在使用 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/

相关文章:

javascript - Node - 查看 require() 期间使用的包版本是什么?

javascript - 当我运行 npm 脚本时出现 Typescript 错误

angular - Angular 8负载外部npm封装

maven - 无法使用 Jar 将 Pom 部署到 Artifactory

url - Artifactory 主机名解析到 docker 注册表

gradle - 如何使用gradle访问 Artifactory 中的trunk文件夹中的jar

node.js - npm install 显示最新而不是安装包

twitter-bootstrap - Laravel 混合 | Bootstrap 弃用警告 : Using/for division is deprecated and will be removed

ssl - docker push 上的 TLS 超时?

gradle - 如何将Gradle插件发布到Artifactory?