![](/img/trans.png)
[英]cannot find package "google.golang.org/protobuf/cmd/protoc-gen-go"
[英]github.com/golang/protobuf/protoc-gen-go has no package path for golang version 1.18
我們正在嘗試構建一個應用程序,但無法使用 protoc-gen-go 生成代碼
$使
go 版本 go1.18 linux/amd64
/usr/local/go/bin/go
制作-C go_source all
make[1]: 進入目錄'/home/593m/team_name/zk/internal-pkg/go_source' cd /home/593m/team_name/zk/internal-pkg/go_source//src/nexus.com/vendor/github。 com/golang/protobuf/protoc-gen-go; go 在沒有-mod=vendor 的情況下安裝,目錄/home/593m/team_name/zk/internal-pkg/go_source/src/appnexus.com/vendor/github.com/golang/protobuf/protoc-gen-go 沒有 package 路徑 Makefile :72: 目標 '/home/593m/team_name/zk/internal-pkg/go_source/bin/protoc-gen-go' 的配方失敗 make[1]: *** [/home/593m/team_name/zk/internal -pkg/go_source/bin/protoc-gen-go] Error 1 make[1]: Leaving directory '/home/593m/team_name/zk/internal-pkg/go_source'' Makefile:26: 目標 'all' 的配方失敗make: *** [all] 錯誤 2
制作文件:
$(REPOROOT)/bin/protoc-gen-go: $(REPOROOT)/src/nexus.com/vendor/github.com/golang/protobuf/protoc-gen-go/*.go cd $(REPOROOT)/src /nexus.com/vendor/github.com/golang/protobuf/protoc-gen-go; $(安裝)
$(REPOROOT)/bin/generate_proto:$(REPOROOT)/bin/protoc-gen-go $(REPOROOT)/resources/proto/* mkdir -p $(REPOROOT)/src/nexus.com/odc/odcproto ## #####ODCPROTO 在此步驟中生成
嘗試將代碼從 make 文件更改為此代碼
CURRENT_DIR=$(shell pwd)
build:
CGO_ENABLED=0 GOOS=linux go build -mod=vendor -a -installsuffix cgo -o ${CURRENT_DIR}/bin/${APP} ${APP_CMD_DIR}/main.go
proto-gen:
./scripts/gen-proto.sh ${CURRENT_DIR}
ls genproto/*.pb.go | xargs -n1 -IX bash -c "sed -e '/bool/ s/,omitempty//' X > X.tmp && mv X{.tmp,}"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.