Aller au contenu
ecdsa.com
Yarn Classic (1.x)Gestionnaires de paquets

Message d’erreur

error Error: self-signed certificate in certificate chain

Également affiché sous la forme

  • error Error: self signed certificate in certificate chain

Yarn 1.x affiche « error Error: … », suivi d’une trace de pile Node.js (at TLSSocket.onConnectSecure …). Node.js 16 et les versions antérieures écrivent « self signed ». Yarn 4 signale les échecs TLS dans son propre format : « ➤ YN0001: RequestError: <reason> ».

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

Ce que cela signifie

Yarn Classic n’a pas pu vérifier le certificat du registre, car la chaîne se termine par une racine auto-signée à laquelle Node.js ne fait pas confiance. Yarn affiche l’erreur de Node.js telle quelle, suivie d’une trace de pile. Sur un réseau d’entreprise, c’est le symptôme classique d’un proxy d’inspection TLS dont la racine est approuvée par le navigateur, mais pas par Node.js.

Pourquoi cela se produit

Comment corriger l’erreur

  1. 1.

    Définir le cafile de Yarn 1

    yarn config set cafile amène Yarn à vérifier le registre à l’aide de ce fichier PEM ; comme le réglage équivalent de npm, il remplace les racines par défaut pour les requêtes vers le registre.

    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.

    Ou utiliser NODE_EXTRA_CA_CERTS

    Ajoute la racine à la liste intégrée de Node.js pour Yarn et pour tous les autres outils Node.js de l’environnement.

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

    Yarn 4 : httpsCaFilePath

    Les versions modernes de Yarn lisent httpsCaFilePath dans .yarnrc.yml ; Yarn 4 refuse de démarrer lorsqu’il trouve l’ancienne clé caFilePath.

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

    Diagnostic temporaire : strict-ssl false

    Confirme que la confiance est le seul problème. Les paquets exécutent des scripts d’installation : laisser la vérification désactivée ouvre la porte à des paquets substitués. Supprimez le réglage juste après le test.

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

Erreurs associées

Parcourir toute la base de données des erreurs de signature