Kebergantungan Tidak Langsung dalam Fail Go.mod: Punca dan Pengelakan
Dalam bahasa pengaturcaraan Go, kehadiran kebergantungan tidak langsung semasa dalam perjalanan Fail .mod boleh menjadi kebimbangan. Kebergantungan ini boleh muncul apabila mengemas kini fail go.mod menggunakan go build. Untuk mengelakkan isu ini, adalah penting untuk memahami punca dan penyelesaian yang berpotensi.
Apakah itu Ketergantungan Tidak Langsung?
Kebergantungan tidak langsung merujuk kepada kebergantungan yang tidak dinyatakan secara jelas dalam fail go.mod tetapi diperlukan oleh kebergantungan langsung. Ia dilabelkan dengan // komen tidak langsung dalam fail go.mod.
Punca Kebergantungan Tidak Langsung
Kebergantungan tidak langsung timbul apabila kebergantungan langsung tidak memberikan kebergantungannya dalam fail go.mod sendiri. Ini boleh berlaku apabila kebergantungan bukan modul, bermakna ia tidak mempunyai fail go.mod atau apabila kebergantungan ialah modul tetapi tidak menyediakan kebergantungannya dalam go.modnya.
Contoh:
module prodenv go 1.13 require ( github.com/gocolly/colly v1.2.0 )
Dalam contoh ini, kebergantungan github.com/gocolly/colly v1.2.0 tidak menyediakan kebergantungannya dalam fail go.modnya sendiri, yang membawa kepada kemunculan kebergantungan tidak langsung seperti:
github.com/PuerkitoBio/goquery v1.5.1 // indirect github.com/antchfx/htmlquery v1.2.2 // indirect
Mengelakkan Ketergantungan Tidak Langsung
Malangnya, tidak dapat dielakkan sepenuhnya kebergantungan tidak langsung. Walau bagaimanapun, terdapat beberapa langkah yang boleh diambil:
Atas ialah kandungan terperinci Mengapa saya mempunyai kebergantungan tidak langsung dalam fail Go.mod saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!