Go项目Linux环境构建失败:package不在GOROOT问题求助
问题解决办法
问题根源是Windows文件系统大小写不敏感,而Linux/Docker使用大小写敏感的文件系统:你的项目实际目录是小写的controller,但代码里导入的是大写开头的meddeals_server/Controller,Windows下能自动匹配,Linux下则会因为大小写不匹配找不到包。
具体修复步骤:
- 打开
main.go,找到导入语句中类似import "meddeals_server/Controller"的行,把Controller改成小写的controller,和实际目录名完全一致 - 检查项目中所有其他文件的导入语句,确保所有包路径的大小写都和对应的目录/文件名严格匹配(比如
entity/utility目录也要避免写成Entity/Utility) - 在Linux或Docker环境中重新执行构建命令:
go build -o main .
额外注意:确认你的go.mod文件中第一行的模块名是meddeals_server(比如module meddeals_server),这样相对导入路径才能正确解析。
内容的提问来源于stack exchange,提问作者Sharukh Shaikh
相关产品推荐
相关产品推荐

