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

Go 1.20中go clean -i ./...无法运行,如何正确执行?

Go 1.20中go clean命令的正确使用方法

报错原因

这个错误是因为Go 1.16及以后版本默认启用模块模式,./...这类相对路径匹配要求当前工作目录必须是模块根目录(存在go.mod文件),或者属于已加载模块的依赖目录。而Go 1.14时期还允许在非模块目录通过GOPATH模式执行这类命令,两者的模块机制差异导致了兼容性问题。

解决方法

1. 切换到模块根目录执行命令

首先确认你的项目模块根目录(包含go.mod的目录),如果不确定可以用以下命令查找:

/home/art/tests/go/go-20/bin/go list -m -f '{{.Dir}}'

切换到输出的目录后,再执行清理命令:

/home/art/tests/go/go-20/bin/go clean -i ./...

2. 指定完整模块/包路径(无需切换目录)

如果不想切换到模块根目录,可以直接使用完整的模块路径或子包路径:

  • 清理整个模块:
    /home/art/tests/go/go-20/bin/go clean -i example.com/your-module/...
    
    (替换example.com/your-module为你的实际模块路径,可通过go list -m查看)
  • 清理指定子包:
    /home/art/tests/go/go-20/bin/go clean -i example.com/your-module/pkg/...
    

3. 临时启用GOPATH模式(不推荐)

如果必须在非模块目录使用相对路径,可以临时关闭模块模式,但该模式已被官方逐步废弃,不建议长期使用:

GO111MODULE=off /home/art/tests/go/go-20/bin/go clean -i ./...

常用参数说明

  • -i:清理时同时删除通过go install安装的二进制文件
  • -r:递归清理当前包依赖的所有子包

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 12:20:04