亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

錯誤“protoc-gen-go:程序未找到或不可執行”

錯誤“protoc-gen-go:程序未找到或不可執行”

Go
蕪湖不蕪 2023-07-17 15:23:16
我正在嘗試使用 Go gRPC構建示例應用程序,但無法使用“protoc”生成代碼我已經使用以下命令安裝了所需的庫和 Go 軟件包:go get -u google.golang.org/grpcgo get -u github.com/golang/protobuf/protoc-gen-go我也嘗試過設置路徑,但沒有運氣。示例“原型”文件:syntax = "proto3";package greet;option go_package="greetpb";service GreetService{}錯誤信息:“protoc-gen-go:程序未找到或不可執行--go_out:protoc-gen-go:插件失敗,狀態代碼為 1。”
查看完整描述

6 回答

?
眼眸繁星

TA貢獻1873條經驗 獲得超9個贊

必須添加以下軟件包:

sudo?apt?install?protobuf-compiler

就我而言,我還必須添加這一點:

sudo?apt?install?golang-goprotobuf-dev


查看完整回答
反對 回復 2023-07-17
?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

我通過以下步驟解決了這個問題:

使用以下命令安裝 Go 庫:

go?get?-u?github.com/golang/protobuf/{proto,protoc-gen-go}
  1. 跑步vim ~/.bash_profile

  2. 添加:

    export?GO_PATH=~/goexport?PATH=$PATH:/$GO_PATH/bin
  3. 跑步source ~/.bash_profile

查看完整回答
反對 回復 2023-07-17
?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

去1.17+

來自https://go.dev/doc/go-get-install-deprecation

從 Go 1.17 開始,不推薦使用 go get 安裝可執行文件??梢允褂?go install 來代替。

~/.bashrc

export?GOPATH=$HOME/go
export?PATH=$PATH:$GOPATH/bin

安裝

go?install?google.golang.org/protobuf/cmd/protoc-gen-go@latest

去:下載 google.golang.org/protobuf v1.27.1

go?install?google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest

去:下載 google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.2.0

去:下載 google.golang.org/grpc v1.44.0

文件.go

protoc?--go-grpc_out=.?*.proto

環境

  • 蘋果M1 Pro

  • Go版本go1.17.8 darwin/arm64


查看完整回答
反對 回復 2023-07-17
?
MYYA

TA貢獻1868條經驗 獲得超4個贊

有兩種方法安裝 protobuf 編譯器。如果你使用的是 Ubuntu,你可以使用這個:

sudo apt install protobuf-compiler

當然還有標準的方法:

go get -u github.com/golang/protobuf/{proto,protoc-gen-go}

這里轉發只是添加路徑。假設當你安裝 Go 時你這樣做了,

echo 'export GOPATH=$HOME/Go' >> $HOME/.bashrc
source $HOME/.bashrc

現在你可以擴展它:

echo 'export PATH=$PATH:$GOPATH/bin' >> $HOME/.bashrc
source $HOME/.bashrc

奇怪的protoc是無法擴展~。


查看完整回答
反對 回復 2023-07-17
?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

從 GitHub 存儲庫來看,這個解決方案對我有用。

Go版本為go版本go1.14.1 Linux/amd64

將其添加到.bashrc并獲取它。

export?GOROOT=/usr/local/go
export?GOPATH=$HOME/go
export?GOBIN=$GOPATH/bin
export?PATH=$PATH:$GOROOT:$GOPATH:$GOBIN


查看完整回答
反對 回復 2023-07-17
?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

確保您的 GOBIN 已在PATH變量中設置。否則,您可能會遇到此問題。GOBIN通過運行檢查路徑go env并確認GOBIN不為空。


如果它是空的,那么嘗試如下


export GOPATH=$HOME/go

export PATH=$PATH:$GOPATH/bin

protoc --go_out=plugins=grpc:. *.proto


查看完整回答
反對 回復 2023-07-17
  • 6 回答
  • 0 關注
  • 314 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號