Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk garpu? Ralat: ditemui tetapi tidak mengandungi pakej

Bagaimana untuk garpu? Ralat: ditemui tetapi tidak mengandungi pakej

WBOY
Lepaskan: 2024-02-09 20:09:08
ke hadapan
452 orang telah melayarinya

Bagaimana untuk garpu? Ralat: ditemui tetapi tidak mengandungi pakej

Dalam artikel ini, editor PHP Youzi akan berkongsi dengan anda bagaimana untuk menangani masalah "Bagaimana untuk garpu? Ralat: Ditemui, tetapi pakej tidak disertakan". Ralat ini biasanya berlaku apabila menggunakan sistem kawalan versi, menunjukkan bahawa sistem menemui cawangan yang berkaitan, tetapi tidak mengandungi pakej atau fail yang diperlukan. Dalam artikel ini, kami akan menerangkan cara untuk mendiagnosis dan menyelesaikan ralat ini untuk memastikan operasi normal projek. Sama ada anda seorang pemula atau pembangun berpengalaman, artikel ini akan memberikan anda penyelesaian dan nasihat yang berguna. Mari kita selesaikan masalah ini bersama-sama!

Kandungan soalan

Larikan:

go install github.com/google/[email protected]
go install github.com/googleapis/[email protected]
Salin selepas log masuk
Salin selepas log masuk

Alat ini berfungsi:

gnostic --grpc-out=./target ./source.yaml
Salin selepas log masuk

Saya telah memotong perpustakaan https://github.com/google/gnostic-grpc dan mengubah suainya untuk tidak melakukan sebarang penukaran sarung ular, dan saya telah menamakan semula pakej itu juga github.com/thlib 的所有引用/gnostic-grpc supaya ia boleh dipasang .

Kemudian saya cuba memasangnya:

go install github.com/thlib/gnostic-grpc@04d3e8500daa070fbe8c6118fe3b62e42d4a9b1f
Salin selepas log masuk

Juga:

go install github.com/google/[email protected]
go install github.com/thlib/[email protected]
Salin selepas log masuk

Tetapi ia menimbulkan ralat:

go: downloading github.com/thlib/gnostic-grpc v0.1.3
go: github.com/thlib/[email protected]: module github.com/thlib/[email protected] found, but does not contain package github.com/thlib/gnostic-grpc
Salin selepas log masuk

Saya tidak faham apa salah saya.

  1. Pakej telah ditukar nama
  2. Lari go mod init github.com/thlib/gnostic-grpc && go mod tidy

Dulu git cloned asli, sekarang saya lebih keliru, bagaimana ini berfungsi?

go install github.com/google/[email protected]
go install github.com/googleapis/[email protected]
Salin selepas log masuk
Salin selepas log masuk

Nampaknya tidak ada di peringkat akar main.go 包,go installBagaimana untuk mengetahui apa yang hendak dipasang?

Selain itu, jika pakej mengandungi penggunaan jenis yang tidak diisytiharkan, sebagai contoh, bagaimanakah ia memasangnya? /incompatibilityapisetincompatibility , ia tidak diisytiharkan di mana-mana, bukankah itu sepatutnya menjadi pepijat?

Ini adalah kesilapan dalam penerangan rasmi, nampaknya mereka juga melakukan kesilapan pada satu ketika:

go install github.com/google/[email protected]
go install github.com/google/[email protected]
Salin selepas log masuk

Saya telah meneliti soalan ini (dan soalan lain serta siaran reddit, dsb.) dan ia nampaknya berbeza:

  • Go modul @terbaru ditemui, tetapi bukan pakej
  • Modul ditemui tetapi bukan pakej
  • Pergi dan pasang @pakej terbaru ditemui tetapi tidak disertakan
  • go: modul ditemui tetapi bukan pakej
  • modul peribadi golang (v1.17) -- pakej ditemui tetapi tidak disertakan

Penyelesaian

Selain itu, jika pakej mengandungi penggunaan jenis yang tidak diisytiharkan, sebagai contoh, bagaimanakah ia memasangnya? /incompatibility mempunyai ApiSetIncompatibility yang tidak diisytiharkan di mana-mana, bukankah itu satu ralat?

ApiSetIncompatibility akan diisytiharkan dalam fail .pb yang dijana selepas penyusunan proto. Anda boleh menemuinya dalam fail incompatibility/incompatibility-report.proto pada baris 88. Jadi, untuk menyelesaikan masalah ini, anda perlu menjana fail .pb menggunakan protoc terlebih dahulu.

Atas ialah kandungan terperinci Bagaimana untuk garpu? Ralat: ditemui tetapi tidak mengandungi pakej. 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