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

Go从1.14升级至1.17后modules失效,go get无法修复报错

Go 1.17模块管理调整说明及问题解决方案

Go 1.17相对1.14的模块机制核心变化

  • GO111MODULE默认值从auto调整为on,彻底废弃了GOPATH模式的依赖查找逻辑。1.14版本中如果代码存放在GOPATH/src目录下,会自动禁用模块模式,直接从GOPATH读取依赖;1.17版本无论代码存放路径,只要当前项目没有go.mod文件,就不会读取GOPATH下的依赖包。
  • go get命令行为调整:无go.mod文件的目录下执行go get不会再将依赖下载到GOPATH作为全局依赖使用,仅会在已初始化模块的项目下添加对应依赖条目。
  • 新增依赖裁剪规则,依赖解析更严格,不会自动隐式引入未声明的间接依赖,所有依赖必须明确记录在go.mod文件中才会被识别。

问题处理步骤

  1. 进入项目根目录,执行模块初始化命令,替换成你自己的模块名即可:
    go mod init <your-module-name>
    示例:go mod init gin-test
  2. 再次执行gin依赖安装命令:
    go get github.com/gin-gonic/gin
  3. 执行依赖整理命令,自动补齐所有缺失的间接依赖(可选,推荐执行):
    go mod tidy
  4. 重新运行代码即可正常识别依赖:
    go run main.go

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 03:36:02