Menggunakan "go get" pada Repositori Git Peribadi: Panduan Komprehensif
Cabaran
Percubaan untuk menyediakan pakej untuk "pergi dapatkan" pada repositori Git peribadi selalunya menghasilkan mesej ralat "laluan import tidak dikenali." Artikel ini menyediakan penyelesaian yang komprehensif untuk isu ini.
Memahami Teg META
Go memerlukan teg META dalam halaman HTML akar repositori Git yang menentukan pakej laluan import dan URL repositori. Sintaksnya adalah seperti berikut:
<meta name="go-import" content="import_path git repo_url">
Menyediakan Pelayan
Untuk ciri "pergi dapatkan" berfungsi, pelayan yang mengehos repositori Git mesti dikonfigurasikan untuk mengembalikan teg META apabila permintaan dibuat dengan parameter "?go-get=1".
Konfigurasi nginx yang disyorkan
Peraturan penulisan semula nginx berikut boleh digunakan untuk mencapai ini:
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; }
Peraturan ini menganggap akses SSH kepada repositori Git. Jika HTTPS digunakan, ubah suai URL dengan sewajarnya.
Contoh Teg META
Meminta "http://mygit.server/group/project?go-get=1 " harus mengembalikan teg META berikut:
<meta content='mygit.server/group/project git git+ssh://[email protected]/group/project.git' name='go-import'>
Menguji Pakej
Selepas mengkonfigurasi pelayan, anda boleh mengesahkan sama ada pakej tersedia untuk "go get" dengan menjalankan:
<code class="Bash">go get example.com/user/package</code>
Arahan ini sepatutnya berjaya memuat turun dan memasang pakej.
Atas ialah kandungan terperinci Bagaimana untuk Menyediakan Pakej untuk \'go get\' pada Repositori Git Peribadi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!