gpt4 book ai didi

javascript - 有没有办法在单个 package.json 中配置多个注册表

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

有什么办法可以在 中定义两个注册表吗?发布配置 在 package.json 中?

用例是根据目的在 2 个不同的位置发布 Artifactory ,当它是快照时,它将使用快照路径,而出于发布目的,它使用另一个。

就像是:

"publishConfig": {
"snapshot-registry": "http://artifactory.test/artifactory/api/npm-snapshots"
"release-registry": "http://artifactory.test/artifactory/api/npm-releases"
},

最佳答案

通过阅读 npm 包 json 文档 npm-package-json您只能覆盖现有的 npm-config使用 publishConfig 设置,因此您可能无法添加新属性。

但是,您可以使用 .npmrc为范围包和默认设置不同的注册表项。在 .npmrc下面的示例我为 GitHub 注册表设置了快照包,其他所有内容都可以发布到默认的 npm 注册表。

@snapshot:registry=https://npm.pkg.github.com/snapshot
registry=https://registry.npmjs.org

棘手的部分是包将转到哪个注册表。正确的?使用我们现在的设置,一个简单的 npm publish将不起作用,或者它可能只是发布到默认注册表。我使用的一种方法是使用 npm login --registry=https://npm.pkg.github.com --scope=snapshot 登录到我的作用域注册表。 ,编辑我的 package.json 以匹配我的作用域包的名称,例如 @snapshot/package所以它不会去默认注册表然后发布。

然后,您可以登录到默认注册表,进行相应的编辑并在那里再次发布。

我希望这对您有所帮助,这是一个烦人的过程,我们甚至可能需要一个“包注册表管理器”,不知道是否存在。

关于javascript - 有没有办法在单个 package.json 中配置多个注册表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56834890/

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