Saltar al contenido
ecdsa.com
Yarn Classic (1.x); Yarn 4 prints the aliasGestores de paquetes

Mensaje de error

error Error: unable to get local issuer certificate

También se muestra como

  • YN0001: RequestError: unable to get local issuer certificate

Yarn 1.x imprime «error Error: unable to get local issuer certificate» seguido de una traza de pila de Node.js. Si el registro envía solo su certificado hoja, el texto pasa a ser «unable to verify the first certificate».

Qué significa

Yarn Classic recibió del registro una cadena de certificados (el certificado hoja y el intermedio), pero Node.js no confía en la raíz que está por encima. Yarn muestra el error de Node.js sin cambios. Normalmente el registro está bien; a este equipo le falta la raíz de la empresa o del proxy a la que lleva la cadena.

Por qué ocurre

Cómo solucionarlo

  1. 1.

    Configurar cafile en Yarn 1

    Indica a Yarn la raíz de la empresa (o un bundle que incluya las raíces públicas, ya que cafile sustituye las predeterminadas en las solicitudes al registro).

    bash
    yarn config set cafile /etc/ssl/private-ca/corp-root-ca.pem
  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 otro proceso de Node.js que tenga definida la variable.

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

    Yarn 4: httpsCaFilePath

    Yarn 4 imprime el fallo como «YN0001: RequestError: unable to get local issuer certificate» y toma el archivo de CA de la opción httpsCaFilePath de .yarnrc.yml.

    yaml
    # Yarn 4: .yarnrc.yml
    httpsCaFilePath: /etc/ssl/private-ca/corp-root-ca.pem
  4. 4.

    Comprobar qué hosts usa el lockfile

    Si las URL resueltas apuntan a un espejo interno, hay que corregir el certificado de ese espejo o tu almacén de confianza, no la configuración del registro.

    bash
    # Which hosts does the lockfile download from?
    grep -oE 'resolved "https://[^/]+' yarn.lock | sort | uniq -c

Errores relacionados

Explorar toda la base de datos de errores de firma