gpt4 book ai didi

angular - 在企业 Artifactory 中发布 Angular 库

转载 作者:行者123 更新时间:2023-12-04 14:15:09 24 4
gpt4 key购买 nike

当我在企业 JFrog 中设置 npm 存储库时,将创建以下 5 个 npm 存储库:

npm-local
npm-release local
npm-generic-local
npm-central
npm-central-cache

每当我尝试使用 npm publish 命令发布 Angular 库时,我都能够将 Artifactory 推送到 npm-local 存储库。但是当我尝试执行 npm 安装时(在 package.json 中提到了 public 和我们的依赖项)所以它抛出 404 not found error,看起来它无法从 中提取公共(public) Artifactory npmjs 注册表 link .

同样,如果我指向 JFrog 中的 npm-central 存储库,我可以从 npmjs 注册表中提取公共(public) Artifactory ,但无法在那里发布我们的 Angular 库。它抛出 400 错误请求错误。(错误日志下方)

18 http fetch PUT 400 <JFrog_Url>/api/npm/npm-release-local/@ca-platform%2fcore 1592ms
19 verbose stack Error: 400 Bad Request - PUT <JFrog_Url>/api/npm/npm-release-local/@ca-platform%2fcore
19 verbose stack at res.buffer.catch.then.body (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-registry-fetch\check-response.js:104:15)
19 verbose stack at process._tickCallback (internal/process/next_tick.js:68:7)
20 verbose statusCode 400
21 verbose pkgid @ca-platform/core@1.0.0
22 verbose cwd C:\Decomposition Projects\ca-ui-platform\ca-ui-platform\dist\core
23 verbose Windows_NT 10.0.17763
24 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "publish"
25 verbose node v10.19.0
26 verbose npm v6.13.4
27 error code E400
28 error 400 Bad Request - PUT <JFrog_Url>/api/npm/npm-release-local/@ca-platform%2fcore
29 verbose exit [ 1, true ]

可以,任何人都可以帮助我了解我必须在 JFrog 中指向哪个 npm 存储库,以便我可以推送我们的库以及从同一个 npm 存储库中提取公共(public) Artifactory 。

PS:我在 .npmrc 文件中使用以下配置指向 JFrog 的任何 npm 存储库:

strict-ssl=false
registry=<JFrog_Url>/api/npm/npm-central/
_auth = <auth_token>
email = <email-id>
username= <username>
always-auth=true

最佳答案

npm-本地npm-release 本地npm-generic-local 是我理解的所有本地存储库。您可以从 Artifactory 中的本地存储库发布和下载包。

但是,npm-central 是一个指向 npmjs.com 的远程存储库。远程存储库允许您代理上游(在本例中为 npmjs),但它们不允许您向其发布新包。

您希望能够从单个存储库发布和解析(即下载)包,这就是虚拟存储库发挥作用的地方。

虚拟存储库允许您将一个或多个本地、远程甚至虚拟存储库聚合到一个存储库中,从而允许您访问所有上述存储库中的所有包。它将允许您下载和发布包。

因此,我建议创建一个虚拟存储库 > 例如聚合 npm-local 和 npm-central(您可以添加您添加的所有远程和本地存储库)> 指定默认部署存储库,这是其中的本地存储库已发布的包将存储在(即当您使用“npm publish”命令时) > 更新您的 .npmrc 文件(不要忘记对新的虚拟存储库执行“npm 登录”)。

这样,您将拥有一个(虚拟)存储库,允许您从 npmjs 下载包(以及本地存储库中的包)并将包发布到您选择的本地存储库。

关于angular - 在企业 Artifactory 中发布 Angular 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60915621/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com