在尝试导入这个包时,我遇到了一个错误:
"github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway"
"github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2"
"google.golang.org/grpc/cmd/protoc-gen-go-grpc"
"google.golang.org/protobuf/cmd/protoc-gen-go"这些错误表明:
无法导入github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway (不需要模块提供包"github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway") )
错误是相同的,不需要模块提供包。
这是我的围棋:
GO111MODULE="on"
GOARCH="amd64"
GOBIN="/usr/local/go/bin"
GOCACHE="/home/servumtopia/.cache/go-build"
GOENV="/home/servumtopia/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/servumtopia/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/servumtopia/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.19"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/servumtopia/CODE/GO/sqlc/go.mod"
GOWORK=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build2576989244=/tmp/go-build -gno-record-gcc-switches"守则:
//go:build tools
// +build tools
package tools
import (
_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway"
_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2"
_ "google.golang.org/grpc/cmd/protoc-gen-go-grpc"
_ "google.golang.org/protobuf/cmd/protoc-gen-go"
)档案结构:
├── api
├── db
│ ├── migration
│ ├── mock
│ ├── queries
│ └── sqlc
├── gapi
├── pb
├── proto
│ └── google
│ └── api
├── token
├── tools
└── util解释:
go.mod文件正在添加导入的包
github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.2.0
google.golang.org/protobuf v1.28.1我尝试导入main.go文件中的包,在运行代码时得到了这个错误。
main.go:23:2: import "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway" is a program, not an importable package
main.go:24:2: import "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2" is a program, not an importable package
main.go:25:2: import "google.golang.org/grpc/cmd/protoc-gen-go-grpc" is a program, not an importable package
main.go:26:2: import "google.golang.org/protobuf/cmd/protoc-gen-go" is a program, not an importable package发布于 2022-10-04 15:27:51
发布于 2022-10-04 11:20:50
你初始化go模块了吗?如果你还没试过这些步骤。
1.创建一个模块
go mod init github.com/youraccount/yourpackge2.创建main.go
你已经有你的代码了
2.从项目根运行go mod tidy
go mod tidy这应该能解决你的进口问题。
您也可以单独使用go get。从项目根( go.mod所在的位置)运行这些命令。
go get google.golang.org/protobuf/cmd/protoc-gen-go
go get github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway
go get google.golang.org/grpc/cmd/protoc-gen-go-grpc
go get github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2https://stackoverflow.com/questions/73946975
复制相似问题