如何运行AWS codeartifact登录并保留默认注册表

sgr*_*lon 6 amazon-web-services node.js .npmrc aws-codeartifact

我在 package.json 文件 ( scripts> preinstall) 或 ( scripts> prepare) 中运行此命令:

aws codeartifact login --tool npm --repository my-repo --domain my-domain --domain-owner <123456789> --profile <me>
Run Code Online (Sandbox Code Playgroud)

完整文件:(<123456789>针对<me>stackoverflow 进行了修改)

{
  "name": "my-app",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "preinstall": "npm run co:login",
    "co:login": "aws codeartifact login --tool npm --repository my-repo --domain my-domain --domain-owner <123456789> --profile <me>",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "dependencies": {
    "uuid": "^3.3.2",
    "@my-npm/my-common": "1.0.0"
  }
}
Run Code Online (Sandbox Code Playgroud)

我在命令.npmrc之前的文件aws codeartifact login ..

registry=https://registry.npmjs.org
@my-npm:registry=https://my-domain-<123456789>.d.codeartifact.eu-west-1.amazonaws.com/npm/-repo/
Run Code Online (Sandbox Code Playgroud)

我的.npmrc文件被修改:

registry=https://my-domain-<123456789>.d.codeartifact.eu-west-1.amazonaws.com/npm/-repo/
@my-npm:registry=https://my-domain-<123456789>.d.codeartifact.eu-west-1.amazonaws.com/npm/-repo/
//my-domain-<123456789>.d.codeartifact.eu-west-1.amazonaws.com/npm/my-repo/:always-auth=true
//my-domain-<123456789>.d.codeartifact.eu-west-1.amazonaws.com/npm/my-repo/:_authToken=eyJ2ZXIiOjEsIml....
Run Code Online (Sandbox Code Playgroud)

但我需要保留这个:

registry=https://registry.npmjs.org
@my-npm:registry=https://my-domain-<123456789>.d.codeartifact.eu-west-1.amazonaws.com/npm/-repo/
//my-domain-<123456789>.d.codeartifact.eu-west-1.amazonaws.com/npm/my-repo/:always-auth=true
//my-domain-<123456789>.d.codeartifact.eu-west-1.amazonaws.com/npm/my-repo/:_authToken=eyJ2ZXIiOjEsIml....
Run Code Online (Sandbox Code Playgroud)

sgr*_*lon 15

添加--namespace @my-npm在命令行末尾

@my-npm:registry=...添加的此参数仅更改文件中的范围.npmrc