Saltar al contenido
ecdsa.com
Yarn Classic (1.x)Gestores de paquetes

Mensaje de error

error Error: self-signed certificate in certificate chain

También se muestra como

  • error Error: self signed certificate in certificate chain

Yarn 1.x imprime «error Error: …» seguido de una traza de pila de Node.js (at TLSSocket.onConnectSecure …). Node.js 16 y anteriores lo escriben «self signed». Yarn 4 informa de los fallos de TLS con su propio formato: «➤ YN0001: RequestError: <reason>».

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

Qué significa

Yarn Classic no pudo verificar el certificado del registro porque la cadena termina en una raíz autofirmada en la que Node.js no confía. Yarn imprime el error de Node.js tal cual, con una traza de pila debajo. En una red de empresa es el síntoma clásico de un proxy que inspecciona TLS, en cuya raíz confía el navegador, pero no Node.js.

Por qué ocurre

Cómo solucionarlo

  1. 1.

    Configurar cafile en Yarn 1

    Al configurar cafile con yarn config set cafile, Yarn verifica el registro con ese archivo PEM; como el ajuste equivalente de npm, sustituye las raíces predeterminadas en las solicitudes al registro.

    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.

    O usar NODE_EXTRA_CA_CERTS

    Añade la raíz a la lista integrada de Node.js para Yarn y para cualquier otra herramienta de Node.js del entorno.

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

    Yarn 4: httpsCaFilePath

    El Yarn moderno lee httpsCaFilePath de .yarnrc.yml; Yarn 4 se niega a arrancar si encuentra la opción heredada 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.

    Diagnóstico temporal: strict-ssl false

    Confirma que la confianza es el único problema. Los paquetes ejecutan scripts de instalación, así que dejar la verificación desactivada abre la puerta a paquetes sustituidos; elimina el ajuste justo después de la prueba.

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

Errores relacionados

Explorar toda la base de datos de errores de firma