Problem, dass die Garninstallation nicht über das von Azure DevOps erstellte npm-Repository durchgeführt werden konnte

Vorwort

Ich habe mich für die Verwendung von Azure Artifacts (ein Repository mit Paketen wie gradle und npm) in meinem Projekt entschieden. Als ich versuchte, das npm-Paket mit Garninstallation zu installieren, funktionierte die offizielle Methode nicht gut, daher werde ich die Lösung beschreiben. Ich werde.

Offizielle Azure-Methode

Gemäß der offiziellen Methode sollten Sie den folgenden Inhalt in .npmrc schreiben und dann das Paket installieren. Der tatsächliche Inhalt der folgenden beiden Elemente wird in den automatisch generierten Einstellungen beschrieben.

.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

Obwohl die npm-Installation mit der obigen Methode durchgeführt werden kann, kann die Garninstallation nicht durchgeführt werden. Die Fehlerprotokollausgabe während der Garninstallation lautet wie folgt.

$ 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)

Ursache

  1. Sie haben den Umfang des Repositorys und der Authentifizierungsmethode in .npmrc nicht angegeben.
  2. Bei der offiziellen Azure-Methode ist @ als% 40 URL-codiert, aber das Garn hat es nicht dekodiert.

Lösungen

Ändern Sie .npmrc mit den folgenden Punkten und führen Sie die Garninstallation durch. [^ 1]

  1. Geben Sie den Bereich an.
  2. Ändern Sie den Teil, der% 40 ist, in @.

Nach der Modifikation.npmrc


@[Organaization Name]:registry=https://pkgs.dev.azure.com/[Organazation Name]/_packaging/internal@Local/npm/registry/ #Umfang(@[Organization Name]) Hinzugefügt.%Wo es ist 40@Wechseln Sie zu und so weiter.
@[Organaization Name]:always-auth=true #Umfang(@[Organization Name]Befestigen)

; 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]: Sie können die npm-Installation auch mit der geänderten .npmrc durchführen.

Recommended Posts

Problem, dass die Garninstallation nicht über das von Azure DevOps erstellte npm-Repository durchgeführt werden konnte
Das Problem, dass der Test nicht über die Befehlszeile mit Spring-Boot-Starter-Test ausgeführt werden konnte, wurde behoben
Ein Memo über den Fall, dass das Einfügen mit Spring Data JDBC nicht durchgeführt werden konnte