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

Dapatkan rujukan teg tidak sah

王林
王林ke hadapan
2024-02-13 16:36:09601semak imbas

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

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.
)

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

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam