#
。
最近在學習go的grpc需要使用protobuf,protoc-gen-go套件可以產生golang的protobuf版本協議代碼在mac開發環境下,使用以下命令安裝套件時會報錯go get -u github.com/golang/protobuf/protoc-gen-go
報錯內容是以下內容:
報錯訊息為go1.17版本以後,不贊成使用go get來安裝套件,而是透過go install的方式安裝套件
這裡我使用了我個人的解決方法
進入golang/protobuf下載原始碼
進入protobuf目錄
# #進入protoc-gen-go目錄下
執行指令go build
執行指令go install-
這裡簡單介紹go build和go install
go build
- 透過go build加上要編譯的Go原始檔名,我們即可得到一個可執行文件,預設這個檔案的名字為原始檔名字去掉.go字尾。
go install
與build指令相比,install指令在編譯原始碼後也會將執行檔或函式庫檔案安裝到約定的目錄下。
![1640590939809041.png 解決go get時出現xxx is deprecated的問題](https://img.php.cn/upload/image/647/275/870/1640590939809041.png)
go install編譯出的可執行檔以其所在目錄名(DIR)命名
go install將執行檔安裝到與src同等級的bin目錄下,bin目錄由go install自動建立
#go install將執行檔依賴的各種package編譯後,放在與src同等級的pkg目錄下
此時在GOPATH的/bin目錄下會存在protoc-gen-go的可執行檔![1640590942302452.png 解決go get時出現xxx is deprecated的問題](https://img.php.cn/upload/image/358/601/975/1640590942302452.png)
########將$ GOPATH/bin目錄加入環境變數中,這樣後續只要使用go install產生的指令就可以直接執行了。 ######這時編輯/etc/profile檔案將此文字加入profile檔案,這裡的$GOPATH變數為你本地GO的GOPATH路徑#########export PATH="$PATH: $GOPATH/bin" >> /etc/profile#########這時問題就解決了!可以透過指令###protoc --go_out=plugins=grpc:. *.proto### 匯出golang的protocbuf協定程式碼############
以上是解決go get時出現xxx is deprecated的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!