J'ai décidé d'utiliser Azure Artifacts (un référentiel de packages tels que gradle et npm) dans mon projet, et lorsque j'ai essayé d'installer le package npm avec yarn install, la méthode officielle ne fonctionnait pas bien, je vais donc décrire la solution. Je vais.
Selon la méthode officielle, vous devez écrire le contenu suivant dans .npmrc, puis installer le package. Le contenu réel des deux éléments suivants est décrit dans les paramètres générés automatiquement.
.npmrc
registry=https://pkgs.dev.azure.com/[Organazation Name]/_packaging/internal%40Local/npm/registry/
always-auth=true
; begin auth token
//pkgs.dev.azure.com/[Organazation Name]/_packaging/internal%40Local/npm/registry/:username=[Organazation Name]
//pkgs.dev.azure.com/[Organazation Name]/_packaging/internal%40Local/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//pkgs.dev.azure.com/[Organazation Name]/_packaging/internal%40Local/npm/registry/:email=npm requires email to be set but doesn't use the value
//pkgs.dev.azure.com/[Organazation Name]/_packaging/internal%40Local/npm/:username=[User name]
//pkgs.dev.azure.com/[Organazation Name]/_packaging/internal%40Local/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//pkgs.dev.azure.com/[Organazation Name]/_packaging/internal%40Local/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
Cependant, bien que l'installation de npm puisse être effectuée par la méthode ci-dessus, l'installation de fil ne peut pas être effectuée. La sortie du journal des erreurs lors de l'installation du fil est la suivante.
$ yarn install
yarn-error.log
Trace:
Error: https://pkgs.dev.azure.com/[Organazation Name]/_packaging/internal@Local/npm/registry/@[Organazation Name]/[Package]/-/[Package]-0.0.1.tgz: Request failed "401 Unauthorized"
at ResponseError.ExtendableBuiltin (/opt/yarn-v1.22.4/lib/cli.js:696:66)
at new ResponseError (/opt/yarn-v1.22.4/lib/cli.js:802:124)
at Request.<anonymous> (/opt/yarn-v1.22.4/lib/cli.js:67057:16)
at Request.emit (events.js:314:20)
at Request.module.exports.Request.onRequestResponse (/opt/yarn-v1.22.4/lib/cli.js:141625:10)
at ClientRequest.emit (events.js:314:20)
at HTTPParser.parserOnIncomingClient (_http_client.js:640:27)
at HTTPParser.parserOnHeadersComplete (_http_common.js:119:17)
at TLSSocket.socketOnData (_http_client.js:509:22)
at TLSSocket.emit (events.js:314:20)
Modifiez .npmrc avec les points suivants et effectuez l'installation de fil. [^ 1]
Après modification.npmrc
@[Organaization Name]:registry=https://pkgs.dev.azure.com/[Organazation Name]/_packaging/internal@Local/npm/registry/ #portée(@[Organization Name]) Est ajouté.%Où il est 40@Changez pour, et ainsi de suite.
@[Organaization Name]:always-auth=true #portée(@[Organization Name]Attacher)
; begin auth token
//pkgs.dev.azure.com/[Organazation Name]/_packaging/internal@Local/npm/registry/:username=[Organazation Name] #
//pkgs.dev.azure.com/[Organazation Name]/_packaging/internal@Local/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//pkgs.dev.azure.com/[Organazation Name]/_packaging/internal@Local/npm/registry/:email=npm requires email to be set but doesn't use the value
//pkgs.dev.azure.com/[Organazation Name]/_packaging/internal@Local/npm/:username=[User name]
//pkgs.dev.azure.com/[Organazation Name]/_packaging/internal@Local/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//pkgs.dev.azure.com/[Organazation Name]/_packaging/internal@Local/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
[^ 1]: Vous pouvez faire l'installation de npm même avec le .npmrc modifié.