完美解决Github提交PR后报错:File is not gofumpt-ed (gofumpt)

问题阐述

最近在Github上提交PR后,遇到了这么一个问题:golangci-lint运行失败,具体原因是File is not gofumpt-ed (gofumpt)

名词解释

golangci-lint: golangci-lint 是Go语言社区中常用的代码质量检查工具,它可以帮助开发者发现代码中的潜在问题和不规范之处。它集成了多种代码检查工具,用于检查代码风格、静态分析、性能问题等。

可以在本地使用该工具,会输出当前项目的警告与错误等。

bash 复制代码
//前提确保`GOPATH/bin`在path环境变量里
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
golangci-lint run

gofumpt: gofumpt 是一个用于格式化Go代码的工具,它是 gofmt 的替代品。gofmt 是Go语言官方提供的代码格式化工具,而 gofumpt 是在 gofmt 基础上进行改进的,旨在强制执行一种更加一致和规范的代码风格。

bash 复制代码
//前提确保`GOPATH/bin`在path环境变量里
go install mvdan.cc/gofumpt@latest
gofumpt -w your_file.go

在我的情况下,出现了File is not gofumpt-ed的错误,意味着提交中的某个文件不符合 gofumpt 规定的代码格式。这可能是因为代码中的一些排版问题,例如缩进、空格、换行等方面不符合规范。为了通过代码审查,需要对这些文件进行格式化,使其符合 gofumpt 的规范。

解决办法

从我提供的截图可以看到:Check failure on line 20 in object/get-dashboard.go。说明是get-dashboard.go这个文件20行有问题。只需要cd到有问题的go文件目录,执行命令:gofumpt -w get-dashboard.go。这样gofumpt 工具就会自动帮我们格式化代码。格式化的结果就是将部分多余的换行删了,也就是删掉第20行。然后我重新commit代码,发现golangci-lint就可以通过了。

相关推荐
wangruofeng4 小时前
一个 Markdown 文件攒下 37k 星,i-have-adhd 给 AI 输出立了 10 条规矩
github·aigc·ai编程
怕浪猫5 小时前
长会话不崩盘:DeepSeek Harness 的上下文压缩与目标管理策略
面试·github·agent
DogDaoDao6 小时前
SimToolReal 解读:用“物体中心“视角重新定义灵巧工具操作
人工智能·机器人·github·关键点·人形机器人·gpt-4o·simtoolreal
993166610 小时前
一个人用 AI 的困局:它从不反对你,所以我让 5 个 AI 开了场圆桌会议
github·deepseek
其实防守也摸鱼11 小时前
每天一个知识点——RCE漏洞
运维·服务器·数据库·windows·安全·github·漏洞
u13013012 小时前
GitHub 热榜项目:日榜(2026-09-12)
github
TunerT_TQ12 小时前
Netflix|一个时代的终结:Hystrix静态工程评测,兼谈微服务容错范式的代际迁移
开源·github·资讯
m4Rk_13 小时前
【论文阅读】Agent 记忆机制(68):Memp——把历史轨迹沉淀为可检索、可纠错的程序性记忆
论文阅读·人工智能·学习·开源·github
小羊在睡觉13 小时前
HLS视频
linux·后端·golang
峰向AI14 小时前
腾讯开源的AI管理的瑞士军刀:让团队经验自动传承
github