Dalam konteks modul Go, kebergantungan ialah pakej yang diperlukan oleh modul tertentu. Walaupun kebergantungan langsung disenaraikan secara eksplisit dalam pernyataan memerlukan fail go.mod, kebergantungan tidak langsung ditambah secara automatik apabila kebergantungan langsung bergantung padanya.
Ini boleh membawa kepada situasi di mana fail go.mod modul mengandungi banyak kebergantungan tidak langsung, walaupun ia tidak digunakan secara langsung oleh modul itu sendiri. Ini boleh mengelirukan dan sukar untuk diurus, terutamanya apabila berbilang versi kebergantungan disertakan.
Malangnya, tidak mungkin untuk mengelak sepenuhnya kebergantungan tidak langsung dalam fail go.mod. Apabila menggunakan modul Go, semua kebergantungan yang diperlukan oleh kebergantungan langsung akan ditambahkan secara automatik sebagai kebergantungan tidak langsung, melainkan dinyatakan sebaliknya.
Ambil contoh yang diberikan dalam soalan:
module prodenv go 1.13 require ( github.com/gocolly/colly v1.2.0 ... )
Dalam kes ini , github.com/gocolly/colly v1.2.0 tidak mempunyai fail go.mod, jadi semua kebergantungannya disenaraikan sebagai tidak langsung dalam fail go.mod modul prodenv.
Untuk mengelakkan kebergantungan tidak langsung, ia disyorkan untuk menggunakan kebergantungan yang mempunyai fail go.mod. Ini akan memastikan bahawa hanya kebergantungan yang digunakan secara langsung oleh modul disenaraikan dalam fail go.mod.
Atas ialah kandungan terperinci Bolehkah Anda Mengelakkan Ketergantungan Tidak Langsung sepenuhnya dalam Modul Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!