[英]github.com/golang/protobuf/protoc-gen-go has no package path for golang version 1.18
we are trying to build an application, but unable to generate the code using protoc-gen-go我们正在尝试构建一个应用程序,但无法使用 protoc-gen-go 生成代码
$ make $使
go version go1.18 linux/amd64 go 版本 go1.18 linux/amd64
/usr/local/go/bin/go /usr/local/go/bin/go
make -C go_source all制作-C go_source all
make[1]: Entering directory '/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; 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 install without -mod=vendor, directory /home/593m/team_name/zk/internal-pkg/go_source/src/appnexus.com/vendor/github.com/golang/protobuf/protoc-gen-go has no package path Makefile:72: recipe for target '/home/593m/team_name/zk/internal-pkg/go_source/bin/protoc-gen-go' failed 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: recipe for target 'all' failed make: *** [all] Error 2
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
Make file:制作文件:
$(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/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; $(GOINSTALL)
$(安装)
$(REPOROOT)/bin/generate_proto: $(REPOROOT)/bin/protoc-gen-go $(REPOROOT)/resources/proto/* mkdir -p $(REPOROOT)/src/nexus.com/odc/odcproto #######ODCPROTO gets generated in this step $(REPOROOT)/bin/generate_proto:$(REPOROOT)/bin/protoc-gen-go $(REPOROOT)/resources/proto/* mkdir -p $(REPOROOT)/src/nexus.com/odc/odcproto ## #####ODCPROTO 在此步骤中生成
Try to change the code from make file to this code尝试将代码从 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.