Wie vermeide ich indirekte Abhängigkeiten in Ihrer „go.mod'-Datei?

Barbara Streisand
Freigeben: 2024-11-10 09:17:02
Original
818 Leute haben es durchsucht

How to Avoid Indirect Dependencies in Your `go.mod` File?

Indirekte Abhängigkeiten in go.mod vermeiden

Indirekte Abhängigkeiten in go.mod-Dateien entstehen, wenn Ihre direkten Abhängigkeiten von anderen Paketen abhängen, die nicht vorhanden sind. t explizit in Ihrer go.mod-Datei angegeben. Diese indirekten Abhängigkeiten werden automatisch zu Ihrer Datei hinzugefügt, wenn Sie Befehle wie go build ausführen.

Beispiel mit Colly

Betrachten Sie die folgende go.mod-Datei:

module prodenv

go 1.13

require (
    github.com/gocolly/colly v1.2.0
)
Nach dem Login kopieren

Nachdem Sie go build ausgeführt haben, stellen Sie möglicherweise fest, dass die Datei go.mod Folgendes indirekt enthält Abhängigkeiten:

    github.com/PuerkitoBio/goquery v1.5.1 // indirect
    github.com/antchfx/htmlquery v1.2.2 // indirect
    github.com/antchfx/xmlquery v1.2.3 // indirect
    github.com/antchfx/xpath v1.1.5 // indirect
    github.com/gobwas/glob v0.2.3 // indirect
    github.com/kennygrant/sanitize v1.2.4 // indirect
    github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca // indirect
    github.com/temoto/robotstxt v1.1.1 // indirect
Nach dem Login kopieren

Erklärung

Colly Version 1.2.0 hat keine go.mod-Datei, was bedeutet, dass alle seine Abhängigkeiten als indirekt betrachtet werden. Wenn Sie Colly in Ihren go.mod einbinden, werden dessen Abhängigkeiten daher auch als indirekte Abhängigkeiten hinzugefügt.

Lösung

Leider gibt es keine Möglichkeit, indirekte Abhängigkeiten zu vermeiden vollständig. Es gibt jedoch einige Lösungen, um dieser Herausforderung zu begegnen:

  • Upgrade der Abhängigkeitsversion: In diesem Fall würde ein Upgrade auf Colly Version 2.0.0 oder höher das Problem beheben, da diese Versionen haben go.mod-Dateien.
  • Indirekte Abhängigkeiten überprüfen: Überprüfen Sie die indirekten Abhängigkeiten sorgfältig Abhängigkeiten, um sicherzustellen, dass sie notwendig sind, und unnötiges Aufblähen von Abhängigkeiten zu vermeiden.
  • Verwenden Sie Module mit go.mod: Ermutigen Sie Ihre Abhängigkeiten, go.mod-Dateien für ihre Pakete zu erstellen, was es einfacher macht um Abhängigkeiten zu verwalten und zu kontrollieren.

Das obige ist der detaillierte Inhalt vonWie vermeide ich indirekte Abhängigkeiten in Ihrer „go.mod'-Datei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage