npm - 具有多个私有(private)存储库的 AWS CodeArtifact

标签 npm aws-codeartifact npm-registry

npm 提供了一个很棒的方式 associating a scope with a registry但我真的没有看到它与 AWS CodeArtifact 一起工作。

我希望一旦您创建了域 @myco 和该域下的几个存储库,例如:@myco/repo-a@myco/repo-b 我将能够:

npm config set @myco:registry https://888999.d.codeartifact.eu-central-1.amazonaws.com/npm/

npm config set //888999.d.codeartifact.eu-central-1.amazonaws.com/npm/:_authToken=xxx

并且所有存储库都可以使用相同的 authToken 安装,但是 aws codeartifact login 需要存储库,这让我认为不可能使用一个 token 安装 2 个私有(private)存储库.

有什么想法吗?

最佳答案

我困惑的根源是 AWS CodeArtifact 具有以下层次结构的假设:

  • 域 - 我将其解释为 namespace
    • 存储库 - 我将其解释为 npm 包列表

事实上,它略有不同:

  • Domains - 是一个命名空间/域
    • 存储库 - 不同存储库/注册表的列表
      • 我们可以在哪里推送大量 npm 包

如果我们像这样配置全局 .npmrc,生成的 token 将按预期工作:

registry=https://registry.npmjs.com/
@myco:registry=https://xxx.d.codeartifact.region.amazonaws.com/npm/registry/
//xxx.d.codeartifact.region.amazonaws.com/npm/registry/:always-auth=true
//xxx.d.codeartifact.region.amazonaws.com/npm/registry/:_authToken=${CODEARTIFACT_AUTH_TOKEN}

这适用于默认的 npm 注册中心和您自己的注册中心。

关于npm - 具有多个私有(private)存储库的 AWS CodeArtifact,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71859820/

相关文章:

node.js - npm publish 不适用于 AWS CodeArtifact

node.js - NPM:更改 package-lock.json 中的注册表

asp.net-mvc - 在 Nuget MVC 站点上使用 NPM/Bower 进行捆绑

amazon-web-services - 将所有包从私有(private) npm verdaccio 移至 AWS CodeArtifact

javascript - "loose": true is not fixing Support for the experimental syntax 'classProperties' isn't currently enabled

docker - AWS Codeartifact 和 docker 构建缓存

node.js - 为 Google App Engine Standard 使用私有(private) npm 注册表

node.js - 为 npm 注册表 URL 设置用户名和密码

node.js - 无法在 vagrant homestead 上运行 'npm install'

javascript - 如何使用 npm 发布客户端脚本?