zsh:找不到命令:mockgen - golang 1.18 - macOS Monterrey

6

我刚接触 Go 语言。目前在 macOS 中使用 zsh 终端,按照这里指出的说明 https://github.com/golang/mock 安装 Go 的 mock 工具包。然而当我试图执行 mockgen 命令时,我不停地看到 zsh: command not found: mockgen,并且在终端中导航到我的$GOPATH/bin 目录时,我能看到其中有 mockgen 文件,所以我不知道是否还需要其他东西。

enter image description here

这些是我在 /.zshrc 文件中配置的变量:

#GO path
export GOPATH="$HOME/Documents/study_projects/go"
export GOBINPATH="$GOPATH/bin"

我不确定GOBINPATH是否是这个$GOPATH/bin变量的正确名称,也不确定是否需要将其导出到PATH中,正如https://github.com/golang/mock(mockgen/gomock)安装说明中所指出的那样。你们中有人知道还需要什么吗?我是否需要针对zsh进行额外的配置才能让mockgen命令正常工作?

谢谢!


1
你设置了PATH吗?例如:export PATH=$PATH:$GOROOT/bin:$GOPATH/bin - Rahmat Fathoni
4个回答

10
  1. 确保在Go1.16或更高版本中运行以下命令:

    go install github.com/golang/mock/mockgen@v1.6.0

  2. users/[your_login]/go/bin 添加到 .zshrc 路径中。


8
在 .zshrc 文件中添加 export PATH=$PATH:$(go env GOPATH)/bin,然后再尝试一遍。

记得执行 source .zshrc 命令,或许你还需要重新加载终端。 - undefined

0
你使用的是哪个版本的Golang?对于Go版本1.16+,你不需要使用GOPATH。 在我的情况下,二进制文件安装在这个路径:/Users/USERNAME/go/bin/mockgen,所以我将它添加到了我的$PATH中的.zshrc文件中。
希望对你有帮助!

0

我的 mockgen 安装在 vim /Users/xxx/go/bin/darwin_amd64/ 下而不是 /Users/xxx/go/bin,所以我把它移动到 bin 文件夹里,然后它就可以工作了!

cp /Users/xxx/go/bin/darwin_amd64/mockgen /Users/xxx/go/bin/ 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接