Rumah > pembangunan bahagian belakang > Golang > Dapatkan rujukan teg tidak sah

Dapatkan rujukan teg tidak sah

王林
Lepaskan: 2024-02-13 16:36:09
ke hadapan
605 orang telah melayarinya

Dapatkan rujukan teg tidak sah

Editor PHP Xinyi akan memperkenalkan anda cara menyelesaikan masalah "mendapatkan tag tidak sah untuk rujukan". Semasa menulis kod PHP, kadangkala anda akan menemui mesej ralat yang mendapat rujukan teg yang tidak sah Ini mungkin disebabkan oleh versi PHP yang tidak serasi atau masalah logik kod. Terdapat banyak cara untuk menyelesaikan masalah ini, yang boleh diselesaikan dengan menyemak logik kod, mengemas kini versi PHP, atau mengubah suai kod. Seterusnya, kami akan meneroka cara langkah demi langkah untuk menyelesaikan masalah ini dan membantu anda menjalankan kod PHP dengan lancar.

Kandungan soalan

Saya telah membangunkan binari berasaskan go dan menghadapi masalah pelik.

Jadi saya mempunyai pakej a dan pakej b, di mana pakej b dirujuk terus dalam pakej a.

Aplikasi utama (pakej a) menggunakan pakej b Pakej b dirujuk melalui fail modnya.

Jadi saya menambah versi pakej b yang ditag untuk pakej a melalui go get [email protected] tetapi apabila saya menghadapi beberapa isu, saya mengalih keluar versi itu dan menandai kedua-dua secara tempatan dan jauh (github) dan mencipta versi yang ditag pada komitmen yang lebih baharu. github mengesahkan bahawa versi baharu adalah berdasarkan rujukan baharu, tetapi apabila saya merujuk teg yang sama melalui komit baharu, ia sebenarnya merujuk versi kod lama yang sama.

Baru-baru ini, untuk menyelesaikan dan menyelesaikan masalah ini, saya mencipta teg yang dipanggil v1.1.1, tetapi walaupun ia menyelesaikan masalah, kini walaupun saya merujuk v1.1.0, ia memberikan saya mesej berikut pada penghujungnya.

root@CaesarPrime-AcerE5:/mnt/d/AppA# go get github.com/xxxx/B@master
go: downloading github.com/xxxx/B v1.11.0
go: downloading github.com/xxxx/xxxxz v0.3.2
go: downloading github.com/xxxx/xxxxd v1.1.1
go: downloading golang.org/xxxx/xxxxv v0.0.0-20220127200216-cd36cc0744dd
go: downloading golang.org/xxxx/xxxxb v0.3.7
go: downloading github.com/xxxx/xxxx v0.0.0-20170810143723-de5bf2ad4578
go: upgraded github.com/xxxx/B v1.1.0 => v1.1.1
Salin selepas log masuk

Saya percaya ini mungkin disebabkan oleh beberapa isu caching kerana saya tidak melihat teg v1.1.1 sama ada dari jauh atau setempat. Tetapi bagaimana ini boleh berlaku jika go git menarik sesuatu dari repositori jauh kerana ia telah menarik beberapa teg lewat yang telah dialih keluar?

Atau mungkin saya membuat kesilapan yang memalukan dalam pengurusan pakej?

Penyelesaian

Anda betul, teg yang dipadam mungkin wujud dalam proksi awam go

pergi dokumentasi berkata:

Setelah teg dibuat, ia tidak boleh dipadamkan atau ditukar kepada Semakan yang berbeza. Versi disahkan untuk keselamatan, Binaan yang boleh diulang. Jika teg diubah suai, pelanggan mungkin melihat keselamatan Ralat berlaku semasa memuat turun. Walaupun selepas teg dipadamkan, kandungannya Mungkin masih terdapat pada ejen modul.

Anda boleh menarik balik versi dalam go.mod dengan meletakkan bahagian seperti ini:

retract (
    v1.0.0 // Published accidentally.
    v1.0.1 // Contains retractions only.
)
Salin selepas log masuk

Atas ialah kandungan terperinci Dapatkan rujukan teg tidak sah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan