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!
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.
go mod init github.com/thlib/gnostic-grpc && go mod tidy
Dulu git clone
d 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 install
Bagaimana untuk mengetahui apa yang hendak dipasang?
Selain itu, jika pakej mengandungi penggunaan jenis yang tidak diisytiharkan, sebagai contoh, bagaimanakah ia memasangnya? /incompatibility
有 apisetincompatibility
, 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:
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!