Menggunakan "go get" pada Repositori Git Peribadi
Apabila cuba membuat salah satu pakej anda "go get"-boleh daripada anda VPS peribadi, anda mungkin menghadapi ralat: "contoh pakej.com/user/package: laluan import tidak dikenali". Isu ini timbul walaupun selepas konfigurasi yang kelihatan betul berikutan dokumentasi "go help importpath".
Penyelesaian terletak pada mengkonfigurasi pelayan untuk mengembalikan teg meta tertentu sebagai tindak balas kepada permintaan "go get". Untuk pelayan nginx secara khusus, peraturan tulis semula berikut boleh digunakan:
location ~ "(/[^/]+/[^/]+)(/.*)?" { if ($arg_go-get = "1") { echo '<html><head><meta name="go-import" content="my.domain.com git git+ssh://[email protected]"/></head></html>'; } try_files $uri $uri/index.html $uri.html @gitlab; }
Apabila permintaan "go get" dibuat ke URL yang ditentukan dengan argumen "go-get=1", teg meta yang disediakan akan dikembalikan. Teg meta ini termasuk laluan import, jenis kawalan versi (git) dan URL SSH untuk repositori.
Pastikan URL SSH adalah betul, kerana inilah yang akan digunakan oleh go untuk memuat turun dan memasang pakej . Jika anda menggunakan HTTPS dan bukannya SSH, ubah suai teg meta dengan sewajarnya.
Atas ialah kandungan terperinci Mengapakah \'go get\' Gagal pada Repositori Git Peribadi Saya dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!