Go项目pre-commit钩子报错求助(附已验证解决方案)
问题描述
我是Go语言新手,正在跟着官方教程在GitHub仓库里做项目。用的是Mac OS 12.6系统,Go版本是1.19.1,仓库结构如下:
usership │ go.mod │ go.sum │ main.go │ .pre-commit-config.yaml │ .pre-commit-hooks.yaml └─── data-access │ │ create-tables.sql └─── vendor │ │ modules.txt │ └─── github.com │ │ └─── go-sql-driver │ │ │ └─── ...
我的.pre-commit-config.yaml和.pre-commit-hooks.yaml文件来自一个Go语言的pre-commit钩子仓库。执行go run main.go能正常输出MySQL连接结果,但执行git commit提交已暂存的main.go时,pre-commit钩子报了两个错误:
go: errors parsing go.mod: /usership/go.mod:3: usage: require module/path v1.2.3gocritic not installed or available in the PATH
我的go.mod文件内容如下:
module github.com/dopaminegirl19/usership go 1.19 require github.com/go-sql-driver/mysql v1.6.0
我已经执行了go install -v github.com/go-critic/go-critic/cmd/gocritic@latest,没有报错,但不确定是不是真的装好了,而且我的GOPATH是空的。
问题解决
第一个问题是.pre-commit-config.yaml文件有问题,重新编写该文件并卸载重装pre-commit后就解决了;第二个问题是GOPATH配置的问题,执行下面的命令就搞定了:
export GOPATH="$HOME/go" PATH="$GOPATH/bin:$PATH"
内容的提问来源于stack exchange,提问作者morgane
相关产品推荐
相关产品推荐

