Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menyediakan Pakej untuk \'go get\' pada Repositori Git Peribadi?

Bagaimana untuk Menyediakan Pakej untuk \'go get\' pada Repositori Git Peribadi?

Susan Sarandon
Susan Sarandonasal
2024-11-03 12:28:02766semak imbas

How to Make a Package Available for

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn