Zum Inhalt springen
ecdsa.com
Yarn Classic (1.x)Paketmanager

Fehlermeldung

error Error: self-signed certificate in certificate chain

Auch ausgegeben als

  • error Error: self signed certificate in certificate chain

Yarn 1.x gibt „error Error: …“ aus, gefolgt von einem Stacktrace von Node.js (at TLSSocket.onConnectSecure …). Node.js 16 und älter schreiben „self signed“. Yarn 4 meldet TLS-Fehler in einem eigenen Format: „➤ YN0001: RequestError: <reason>“.

Yarn Classic (1.x) — registry request over HTTPS

Was der Fehler bedeutet

Yarn Classic konnte das Zertifikat der Registry nicht prüfen, weil die Kette bei einem selbstsignierten Root-Zertifikat endet, dem Node.js nicht vertraut. Yarn gibt den Fehler von Node.js unverändert aus, darunter einen Stacktrace. In einem Firmennetz ist das das klassische Symptom eines Proxys mit TLS-Inspektion, dessen Root-Zertifikat der Browser vertraut, Node.js aber nicht.

Warum der Fehler auftritt

So behebst du den Fehler

  1. 1.

    cafile von Yarn 1 setzen

    yarn config set cafile lässt Yarn die Registry gegen diese PEM-Datei prüfen; wie die entsprechende Einstellung von npm ersetzt sie die Standard-Root-Zertifikate für Anfragen an die Registry.

    bash
    # Yarn 1.x setting (stored in ~/.yarnrc)
    yarn config set cafile /etc/ssl/private-ca/corp-proxy-root.pem
    yarn config get cafile
  2. 2.

    Oder NODE_EXTRA_CA_CERTS verwenden

    Fügt das Root-Zertifikat für Yarn und jedes andere Node.js-Tool in der Umgebung zur eingebauten Liste von Node.js hinzu.

    bash
    export NODE_EXTRA_CA_CERTS=/etc/ssl/private-ca/corp-proxy-root.pem
    yarn install
  3. 3.

    Yarn 4: httpsCaFilePath

    Aktuelles Yarn liest httpsCaFilePath aus .yarnrc.yml; Yarn 4 startet nicht, wenn es den veralteten Eintrag caFilePath findet.

    yaml
    # Yarn 4 (Berry): .yarnrc.yml — Yarn 4 rejects the old caFilePath key
    httpsCaFilePath: /etc/ssl/private-ca/corp-proxy-root.pem
  4. 4.

    Vorübergehende Diagnose: strict-ssl false

    Bestätigt, dass das Vertrauen das einzige Problem ist. Pakete führen Installationsskripte aus; bleibt die Prüfung abgeschaltet, öffnet das untergeschobenen Paketen die Tür. Lösche die Einstellung direkt nach dem Test.

    bash
    # Temporary diagnostic only; revert immediately afterwards
    yarn config set strict-ssl false && yarn install; yarn config delete strict-ssl

Verwandte Fehler

Gesamte Signaturfehler-Datenbank durchsuchen