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

Go导入本地models子目录报错package models is not in GOROOT如何解决

Go本地包导入报错修复指南

报错原因

Go 1.11版本之后默认使用Go Modules管理依赖包,不再支持源码级相对导入路径。你使用./models这种相对路径导入时,Go编译器会默认去GOROOT、GOPATH的src目录下搜索对应的包,自然找不到你项目内的本地包。

修复步骤

  • 第一步:在项目根目录下执行模块初始化命令,替换成你自己的模块标识即可:
go mod init example.com/your-project-name
  • 第二步:修改main.go中的导入语句,将相对路径替换为模块名/包路径的格式:
import "example.com/your-project-name/models"
  • 第三步:重新执行go build即可正常构建。

多级子目录包导入方法

如果后续在models目录下创建多级子目录,直接按照模块名/父目录/子目录的规则拼接导入路径即可。
举个例子:你在models下创建了user子目录,user下又创建了address子目录,导入address包的语句为:

import "example.com/your-project-name/models/user/address"

注意事项

  • 每个子目录需要单独声明自身的包名,通常包名和目录名保持一致即可
  • 被外部包调用的函数、结构体、变量等需要首字母大写,才有权限被跨包访问

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:27:03