Im Kontext von Go-Modulen sind Abhängigkeiten Pakete, die für ein bestimmtes Modul erforderlich sind. Während direkte Abhängigkeiten explizit in der require-Anweisung der go.mod-Datei aufgeführt sind, werden indirekte Abhängigkeiten automatisch hinzugefügt, wenn eine direkte Abhängigkeit von ihnen abhängt.
Dies kann dazu führen, dass die go.mod-Datei eines Moduls Folgendes enthält: zahlreiche indirekte Abhängigkeiten, auch wenn diese nicht direkt vom Modul selbst genutzt werden. Dies kann verwirrend und schwierig zu verwalten sein, insbesondere wenn mehrere Versionen einer Abhängigkeit enthalten sind.
Leider ist es nicht möglich, indirekte Abhängigkeiten in go.mod-Dateien vollständig zu vermeiden. Bei Verwendung von Go-Modulen werden alle für eine direkte Abhängigkeit erforderlichen Abhängigkeiten automatisch als indirekte Abhängigkeiten hinzugefügt, sofern nicht anders angegeben.
Nehmen Sie das Beispiel in der Frage:
module prodenv go 1.13 require ( github.com/gocolly/colly v1.2.0 ... )
In diesem Fall github.com/gocolly/colly v1.2.0 verfügt nicht über eine go.mod-Datei, daher werden alle seine Abhängigkeiten als indirekt in der go.mod-Datei des prodenv-Moduls aufgeführt.
Um indirekte Abhängigkeiten zu vermeiden, ist es Es wird empfohlen, Abhängigkeiten zu verwenden, die über go.mod-Dateien verfügen. Dadurch wird sichergestellt, dass nur die Abhängigkeiten, die direkt vom Modul verwendet werden, in der Datei go.mod aufgeführt sind.
Das obige ist der detaillierte Inhalt vonKönnen Sie indirekte Abhängigkeiten in Go-Modulen vollständig vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!