NPM 始终使用 AWS Codeartifact
NPM always uses AWS Codeartifact
我的本地机器上有一些不同的项目。然后有的使用AWS Codeartifact下载AWS Codeartifact中的私有依赖,有的不使用。使用 AWS Codeartifact 的项目管理它们与 Yarn 的依赖关系,而我的不使用 AWS Codeartifact 的项目管理它们与 NPM 的依赖关系。
当我 运行 NPM 中的一个简单命令时,例如:
npm install nanoid
npm 尝试连接到我的 AWS Codeartifact,但出现错误:
Unable to authenticate, need: Bearer realm="domain-npm-repo/npm-repo", Basic realm="domain-npm-repo/npm-repo"
我如何配置我的机器以仅对我想要的项目使用 AWS Codearticaft?
其他配置:
我的机器是 Windows 10,我使用我的凭据全局安装了 aws-sdk。
我解决了运行命令:
npm config set registry https://registry.npmjs.org/
它将我的 npm 注册表设置回默认值并使用 npm 注册表而不是我的 aws codeartifact 注册表。
假设您使用 aws codeartifact login --tool npm --repository my-repo --domain my-domain
登录 aws,您应该使用更精细的方法使用以下命令:
# get endpoint
endpoint = aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format npm
# set a scoped registry
npm config set registry endpoint --scope=@my-package <- this is what you want
# get token
token = aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --repository my_repo
# set token
npm config set //my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/:_authToken=token
# always truth
npm config set //my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/:always-auth=true
这些命令是对aws codeartifact login --tool npm --repository my-repo --domain my-domain
(more info), with the difference that instead of setting a general registry
at your .npmrc
file (used to set configurations for your npm) will set a scoped registry (more info) 的解构。
通过这种方式,您将能够从您想要的来源获取您的包裹。
我的本地机器上有一些不同的项目。然后有的使用AWS Codeartifact下载AWS Codeartifact中的私有依赖,有的不使用。使用 AWS Codeartifact 的项目管理它们与 Yarn 的依赖关系,而我的不使用 AWS Codeartifact 的项目管理它们与 NPM 的依赖关系。
当我 运行 NPM 中的一个简单命令时,例如:
npm install nanoid
npm 尝试连接到我的 AWS Codeartifact,但出现错误:
Unable to authenticate, need: Bearer realm="domain-npm-repo/npm-repo", Basic realm="domain-npm-repo/npm-repo"
我如何配置我的机器以仅对我想要的项目使用 AWS Codearticaft?
其他配置:
我的机器是 Windows 10,我使用我的凭据全局安装了 aws-sdk。
我解决了运行命令:
npm config set registry https://registry.npmjs.org/
它将我的 npm 注册表设置回默认值并使用 npm 注册表而不是我的 aws codeartifact 注册表。
假设您使用 aws codeartifact login --tool npm --repository my-repo --domain my-domain
登录 aws,您应该使用更精细的方法使用以下命令:
# get endpoint
endpoint = aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format npm
# set a scoped registry
npm config set registry endpoint --scope=@my-package <- this is what you want
# get token
token = aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --repository my_repo
# set token
npm config set //my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/:_authToken=token
# always truth
npm config set //my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/:always-auth=true
这些命令是对aws codeartifact login --tool npm --repository my-repo --domain my-domain
(more info), with the difference that instead of setting a general registry
at your .npmrc
file (used to set configurations for your npm) will set a scoped registry (more info) 的解构。
通过这种方式,您将能够从您想要的来源获取您的包裹。