En el contexto de los módulos Go, las dependencias son paquetes que requiere un módulo en particular. Si bien las dependencias directas se enumeran explícitamente en la declaración require del archivo go.mod, las dependencias indirectas se agregan automáticamente cuando una dependencia directa depende de ellas.
Esto puede llevar a una situación en la que el archivo go.mod de un módulo contenga numerosas dependencias indirectas, aunque no sean utilizadas directamente por el módulo en sí. Esto puede resultar confuso y difícil de gestionar, especialmente cuando se incluyen varias versiones de una dependencia.
Desafortunadamente, no es posible evitar por completo las dependencias indirectas en los archivos go.mod. Cuando se utilizan módulos Go, todas las dependencias requeridas por una dependencia directa se agregarán automáticamente como dependencias indirectas, a menos que se especifique lo contrario.
Tome el ejemplo proporcionado en la pregunta:
module prodenv go 1.13 require ( github.com/gocolly/colly v1.2.0 ... )
En este caso, github.com/gocolly/colly v1.2.0 no tiene un archivo go.mod, por lo que todas sus dependencias se enumeran como indirectas en el archivo go.mod del módulo prodenv.
]Para evitar dependencias indirectas, se recomienda utilizar dependencias que tengan archivos go.mod. Esto garantizará que solo las dependencias que utiliza directamente el módulo aparezcan en el archivo go.mod.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3