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

Bagaimana untuk garpu? Ralat: ditemui tetapi tidak mengandungi pakej

WBOY
WBOYke hadapan
2024-02-09 20:09:08384semak imbas

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]

Alat ini berfungsi:

gnostic --grpc-out=./target ./source.yaml

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

Juga:

go install github.com/google/[email protected]
go install github.com/thlib/[email protected]

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

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]

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]

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!

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