【问题标题】:cannot find package google.golang.org/grpc找不到包 google.golang.org/grpc
【发布时间】:2022-06-14 06:00:08
【问题描述】:

当我尝试导入 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

但它似乎不起作用

【问题讨论】:

标签: go grpc grpc-go go-packages


【解决方案1】:

如果您使用的是 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

【讨论】:

    【解决方案2】:

    如果您还没有定义 go.mod 文件,请运行“go mod init ...”命令创建它。 然后运行以下命令: go get -u google.golang.org/grpc

    【讨论】:

      【解决方案3】:

      如果 grpc 更新了 gopath,依赖项将查找 gopath Step1:在项目的基础文件夹中创建 go mod 文件 “去模组初始化” 第二步:运行 “去整理整理” 它将依赖项加载到“go.sum”

      【讨论】:

        猜你喜欢
        • 2022-01-25
        • 1970-01-01
        • 1970-01-01
        • 2021-02-11
        • 2019-12-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多