You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

golangci-lint报错‘can't load fmt’问题求助

解决golangci-lint v1.54.2启动panic问题

问题场景

通过以下命令安装golangci-lint v1.54.2:

# binary will be $(go env GOPATH)/bin/golangci-lint
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.54.2

安装日志显示成功完成:

golangci/golangci-lint info found version: 1.54.2 for
v1.54.2/darwin/amd64 golangci/golangci-lint info installed
/Users/prajeeshb/go/bin/golangci-lint

但执行golangci-lint --version时触发panic错误:

panic: load embedded ruleguard rules: rules/rules.go:13: can't load fmt

goroutine 1 [running]:
github.com/go-critic/go-critic/checkers.init.22()
    github.com/go-critic/go-critic@v0.6.3/checkers/embedded_rules.go:47 +0x4b4

解决方法

方法1:升级到修复版本

该问题是golangci-lint v1.54.2的已知bug,后续版本已修复。卸载旧版本后安装v1.54.3或更高版本:

# 卸载当前版本
rm $(go env GOPATH)/bin/golangci-lint
# 安装v1.54.3
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.54.3

方法2:临时禁用go-critic检查器

如果必须使用v1.54.2版本,可以通过禁用引发问题的go-critic检查器绕过panic:

  • 单次命令执行时添加参数:
golangci-lint --disable go-critic --version
  • 全局或项目持久化配置(在.golangci.yml中添加):
linters:
  disable:
    - go-critic

方法3:清理缓存后重新安装

若因安装缓存异常导致问题,可清理Go模块缓存后重新安装:

# 清理Go模块缓存
go clean -modcache
# 卸载旧版本
rm $(go env GOPATH)/bin/golangci-lint
# 重新安装v1.54.2
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.54.2

注意:此方法仅作为临时尝试,优先推荐方法1彻底解决问题。

内容的提问来源于stack exchange,提问作者prajeesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 20:41:16