Apabila cuba menggunakan pakej tempatan dengan modul go, ralat biasa boleh muncul: "penggantian modul tanpa versi mestilah laluan direktori (berakar atau bermula dengan .)." Ralat ini menunjukkan struktur laluan yang salah dalam arahan ganti dalam fail go.mod.
Arahan ganti dalam go.mod membolehkan pengguna menggantikan kebergantungan dengan yang berbeza versi atau sumber. Walau bagaimanapun, laluan yang ditentukan untuk modul gantian mesti mematuhi kriteria tertentu:
Contoh yang disediakan dalam soalan mempunyai struktur berikut:
goweb/ └─ src/ └─ mypack/ └─ go.mod (local package) go.mod (module containing the replace directive)
Untuk menyelesaikan ralat struktur laluan, pastikan laluan yang ditentukan untuk modul gantian adalah sama ada laluan mutlak atau relatif yang mengikuti kriteria di atas.
Gunakan Laluan Mutlak: Jika mypack bukan adik beradik kepada akar modul, nyatakan mutlaknya laluan seperti berikut:
replace mypack => /absolute/path/to/mypack
Gunakan Laluan Relatif: Jika mypack ialah adik beradik kepada akar modul, nyatakan laluan relatifnya seperti berikut:
replace mypack => ../mypack
Dengan mengikuti langkah ini, anda boleh menyelesaikan ralat "modul penggantian tanpa versi mesti laluan direktori" dan berjaya menggunakan pakej setempat anda dengan modul go.
Atas ialah kandungan terperinci Mengapa Arahan 'Ganti' Saya Gagal dengan 'modul penggantian tanpa versi mestilah laluan direktori'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!