Skip to main content

Solución de problemas del gráfico de dependencias

Si la información de la dependencia que se notifica en el gráfico de dependencias no es lo que esperabas, debes tener en cuenta varias cuestiones y comprobar diversos elementos.

Los resultados de la detección de dependencias que reporta GitHub Enterprise Server pueden ser diferentes a aquellos que devuelven otras herramientas. Esto está justificado y es útil el entender cómo GitHub determina las dependencias para tu proyecto.

¿Acaso la gráfica de dependencias solo encuentra depedencias en los manifiestos y lockfiles?

El gráfico de dependencias incluye información sobre las dependencias que se declaran explícitamente en el entorno. Esto es, dependencias que se especifican en un manifiesto o en un lockfile. La gráfica de dependencias también incluye dependencias transitivas generalmente, aún cuando no se especifican en un lockfile, mediante la revisión de las dependencias de las dependencias en un archivo de manifiesto.

El gráfico de dependencias no incluye dependencias "sueltas". Las dependencias "sueltas" son archivos individuales que se copian de otra fuernte y se revisan directamente en el repositorio o dentro de un archivo (tal como un archivo ZIP o JAR) en ves de que se referencien en un manifiesto de paquete de administrador o en un lockfile.

Comprobación: ¿La dependencia que falta es para un componente sin especificar en el manifiesto o archivo de bloqueo del repositorio?

¿Acaso la gráfica de dependencias detecta dependencias que se especifican utilizando variables?

La gráfica de dependencias analiza los manifiestos mientras se suben a GitHub. Por lo tanto, la gráfica de dependencias no tiene acceso al ambiente de compilación del proyecto, así que no puede resolver variables que se utilizan dentro de los manifiestos. Si usas variables dentro de un manifiesto para especificar el nombre, o más comúnmente la versión de una dependencia, dicha dependencia no se incluirá en el gráfico de dependencias.

Comprobación: ¿Falta la dependencia declarada en el manifiesto mediante una variable para su nombre o versión?

¿Existen límites que afecten los datos de la gráfica de dependencias?

Sí, la gráfica de dependencias tiene dos categorías de límites:

  1. Límites de procesamiento

    Estos afectan la gráfica de dependencias que se muestra dentro de GitHub y también previenen la creación de Dependabot alerts.

    Los manifiestos mayores a 0.5 MB solo se procesan para las cuentas empresariales. En el caso de otras cuentas, los manifiestos mayores a 0.5 MB se ingoran y no crearán Dependabot alerts.

    Predeterminadamente, GitHub no procesará más de 20 manifiestos por repositorio. Las Dependabot alerts no se crean para los manifiestos más allá de este límite. Si necesitas incrementar el límite, contacta a el administrador del sitio.

  2. Límites de visualización

    Estos afectan a lo que se muestra en la gráfica de dependencias dentro de GitHub. Sin embargo, estos no afectan las Dependabot alerts que se crean.

    La vista de dependencias de la gráfica de dependencias para un repositorio solo muestra 1000 manifiestos. Habitualmente, esto es tan adecuado como es significativamente más alto que el límite de procesamiento descrito anteriormente. En situaciones en donde le límite de procesamiento es mayor a 100, las Dependabot alerts se crearán aún para cualquier manifiesto que no se muestre dentro de GitHub.

Comprobación: ¿La dependencia que falta está en un archivo de manifiesto de más de 0,5 MB, o en un repositorio con una gran cantidad de manifiestos?

Información adicional