-1

当我尝试导入 grpc 包时,出现以下错误:

could not import google.golang.org/grpc (cannot find package "google.golang.org/grpc" in any of 
    /usr/local/go/src/google.golang.org/grpc (from $GOROOT)
    /home/ansh/Go/src/google.golang.org/grpc (from $GOPATH))

这是我的 gopath(以防有帮助):

export GOPATH="$HOME/Go"
export PATH="$PATH:/usr/local/go/bin:$GOPATH/bin"

我确实安装了这两个包:

$ go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.26
$ go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.1

但这似乎不起作用

4

1 回答 1

0

如果您使用的是 go 模块,则无需再设置GOPATH。但是,如果GOPATH已设置并且您想使用项目目录中的包,则需要设置GO111MODULE=off,因为默认情况下GO111MODULE设置为ON. 因此,即使包google.golang.org/grpc在您的包中,您GOPATH也必须强制 Go 不使用 Go 模块。

因此,如果您仍然选择使用GOPATH.

$ GO111MODULE=off && go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.26
$ GO111MODULE=off && go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.1
于 2022-02-01T08:50:33.743 回答