Im Kontext von Go-Modulen sind Abhängigkeiten Pakete, die von einem bestimmten Modul benötigt werden. 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 verfügt github.com/gocolly/colly v1.2.0 über keine 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, 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.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3