php エディタ Zimo は、go grpc の使用中にエラーが発生し、「github.com/golang/protobuf/proto」モジュールをインポートできないというメッセージが表示されました。このエラーは通常、必要なモジュールが欠落していることが原因で発生します。 go grpc を使用する前に、protobuf ライブラリが正しくインストールされていること、および関連する proto パッケージがコードに正しくインポートされていることを確認する必要があります。次に、この問題を解決する方法を詳しく紹介します。
「protoc --proto_path=proto proto/*.proto --go_out=plugins」の場合、protoファイルは「github.com/golang/protobuf/proto」をインポートしています"google.golang.org/protobuf/proto" =grpc:pb"command
の代わりにファイルのインポート
リーリー私のプロトタイプ ファイル
リーリー~go/bin/protoc-gen-go-grpc のバージョンは
リーリー私が何をしたのか
初期インストール
$ google.golang.org/protobuf/cmd/[email protected]
をインストールしてください$ google.golang.org/grpc/cmd/[email protected]
をインストールしてください新しいパッケージをインストールする前に go clean -modcache と入力し、コメント @latest
を使用して最新バージョンを再インストールします。go version: Ubuntu 20.4 go1.21.1 linux/amd64
の go バージョンプロトコル--バージョン libprotoc 3.6.1
apt を使用して protobuf-compiler と golang-goprotobuf をインストールする
リーリー問題はここにあると思いますが、何を修正すればよいのか、これをどのように読めばよいのかわかりません
リーリー編集: 最初は go get -u github.com/golang/protobuf/proto を使用してインストールしたと思いますが、rm -rf $(go env GOPATH)/pkg/mod/github.com/golang binaries を使用して削除しました/protobuf/proto を実行し、 go install google.golang.org/protobuf/cmd/protoc-gen-go@latest を使用して新しいバージョンをインストールし、 go install google.golang.org/grpc/cmd/protoc-gen-go- grpc@ を実行します。最新。まだ古いインポートを使用して go ファイルを生成します
Edit2: protoc-gen-go --version が見つかりませんが、protoc-gen-go-grpc --version は 1.2.0 です。 protoc -- バージョンは libprotoc 3.6.1 です。 ここでプロトコル-gen-goは protoc-gen-go:/usr/bin/protoc-gen-go /home/hp/go/bin/protoc-gen-go /usr/share/man/man1/protoc-gen-go.1.gz p>
Ashttps://www.php.cn/link/a5481cd6d7517aa3fc6476dc7d9019ab 著者: @puellanivis
Linux 環境の $PATH
変数は、/home/{username}/go/bin
で始まり、その後 /usr/bin
と順番に続く必要があります。始まり。これは、/usr/bin/protoc-gen-go
の前に google.golang.org/gprc/cmd/protoc-gen-go-grpc@latest
を見つける必要があるためです。
~/.bashrc
または ~/.bash_profile
ファイル ($vim ~/.bashrc
) を編集し、パス環境全体を手動でエクスポートします。私の場合は
以上がgo grpc: github.com/golang/protobuf/proto をインポートできません (必要なモジュールがパッケージ 'github.com/golang/protobuf/proto' を提供していません)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。