使用 Yarn 从私有 Azure DevOps 注册表安装包时出现问题

问题描述 投票:0回答:1

我正在尝试使用 Yarn 从私有 Azure DevOps 注册表安装包。我已按如下方式配置了 .yarnrc.yml 文件:

npmScopes:
  mycompany:
    npmRegistryServer: https://pkgs.dev.azure.com/mycompany/_packaging/myproject/npm/registry/
    npmAlwaysAuth: true
    npmAuthToken: <my-auth-token>

当我尝试添加包时:

yarn add @mycompany/mypackage

我收到以下错误:

➤ YN0027: @mycompany/mypackage@unknown can't be resolved to a satisfying range
➤ YN0041: Invalid authentication (as an unknown user)
➤ Errors happened when preparing the environment required to run this command.

使用以下 .npmrc 配置,该设置可以与 npm 配合使用:

registry=https://pkgs.dev.azure.com/mycompany/_packaging/myproject/npm/registry/
always-auth=true

; begin auth token
//pkgs.dev.azure.com/mycompany/_packaging/myproject/npm/registry/:username=mycompany
//pkgs.dev.azure.com/mycompany/_packaging/myproject/npm/registry/:_password=[ACCESS_TOKEN]
//pkgs.dev.azure.com/mycompany/_packaging/myproject/npm/registry/:email=[EMAIL]
//pkgs.dev.azure.com/mycompany/_packaging/myproject/npm/:username=mycompany
//pkgs.dev.azure.com/mycompany/_packaging/myproject/npm/:_password=[ACCESS_TOKEN]
//pkgs.dev.azure.com/mycompany/_packaging/myproject/npm/:email=[EMAIL]
; end auth token

纱线版本3.6.4 npm 版本 10.8.1 节点版本 18.20.3

验证包名称:我检查了注册表中是否存在包@mycompany/mypackage。

已检查身份验证令牌:确认 npmAuthToken 正确且具有必要的权限。

手动配置:尝试使用以下命令手动设置注册表和身份验证令牌:

react-native npm azure-devops hadoop-yarn
1个回答
0
投票

我测试了相同的

.yarnrc.yml
文件示例并重现了相同的问题。

enter image description here

要解决此问题,您可以更改为使用

npmAuthIdent
文件中的
.yarnrc.yml

这是一个例子:

npmScopes:
  mycompany:
    npmRegistryServer: https://pkgs.dev.azure.com/mycompany/_packaging/myproject/npm/registry/
    npmAlwaysAuth: true
    npmAuthIdent: ANY_USERNAME:MY_TOKEN_AS_BASE64

注意: 您需要将

username:PAT
转换为base64格式并输入到
npmAuthIdent
字段。

更详细的信息,您可以参考这个github票证:Azure构件身份验证

© www.soinside.com 2019 - 2024. All rights reserved.