IntelliJ执行go get安装Prometheus依赖报fatal:'origin'非git仓库错误
问题现象
- Go项目中通过IntelliJ内置终端执行命令安装Prometheus依赖时触发报错,执行的安装命令如下:
go get github.com/prometheus/client_golang/prometheus
- 执行后返回的完整报错信息:
GOROOT=/usr/lib/golang #gosetup GOPATH=/home/yakiza #gosetup /usr/lib/golang/bin/go list -modfile=/home/yakiza/IdeaProjects/Zephyros/go.mod -m -json -mod=mod all #gosetup go: github.com/prometheus/client_golang@v1.12.2 requires github.com/prometheus/common@v0.32.1 requires golang.org/x/oauth2@v0.0.0-20210514164344-f6687ab2804c requires cloud.google.com/go@v0.65.0 requires github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99 requires github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e: invalid version: git fetch -f origin refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in /home/yakiza/pkg/mod/cache/vcs/2b1d73c01d25b37519a4c8fa4a9da66549ac9cb349c7eed83e8fc258c189ca92: exit status 128: fatal: 'origin' does not appear to be a git repository fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
- 已验证的异常特征:
- IDE外部的系统终端执行相同安装命令可正常完成,但IntelliJ打开项目时错误持续存在,项目无法正常启动
- 删除项目内相关依赖包后问题未解决
- IntelliJ中打开其他Go项目尝试安装该依赖,会复现完全相同的报错
- 参考文档:Prometheus官方Go应用接入指南
修复步骤
问题根源是IntelliJ的Go插件自动同步逻辑加载了错误的环境配置,叠加本地Go模块的VCS缓存损坏,按以下顺序操作即可修复:
- 清理损坏的模块缓存:如果不想清空所有本地依赖缓存,直接删除报错信息中提到的损坏VCS缓存目录即可,对应路径为
/home/yakiza/pkg/mod/cache/vcs/2b1d73c01d25b37519a4c8fa4a9da66549ac9cb349c7eed83e8fc258c189ca92;如果后续还有其他缓存类报错,执行go clean -modcache清空全部模块缓存即可。 - 对齐IDE与系统的Go环境配置:打开IntelliJ设置面板,依次进入
Go > GOROOT、Go > GOPATH配置页,将路径修改为系统终端执行go env输出的GOROOT、GOPATH实际路径,不要使用IDE自动识别的自定义路径。 - 修正内置终端配置:进入
Tools > Terminal配置页,将Shell路径修改为系统默认使用的终端可执行文件路径(比如zsh、bash的实际路径),避免IDE内置Shell加载不到全局Git配置,导致拉取依赖时识别不到远程仓库地址。 - 关闭IDE自动同步的异常逻辑:进入
Advanced Settings > Go配置项,取消勾选Run go list on start to sync dependencies,禁用IDE启动时自动执行依赖拉取同步的逻辑,避免后台执行命令时环境变量加载错误触发报错。 - 重启IntelliJ后,在项目根目录执行
go mod tidy重新同步所有依赖即可正常运行项目。
日常开发中Go依赖拉取操作优先在配置完成的内置终端手动执行,减少依赖IDE自动同步逻辑,从根源避免IDE环境与系统环境不一致导致的各类依赖异常。
内容的提问来源于stack exchange,提问作者Yakiza_Slackware
相关产品推荐
相关产品推荐

