Golang Go语言编译时 cannot find package,请大佬进来点拨一下
过程
通过 “git clone - b 略” 克隆了 github 上的一个程序 gofly 。按照别人的做法亦步亦趋。 执行“cd gofly” 执行“cd cmd” 执行“cd gofly” 执行“go build” 这时候出现错误,基本如下: “main.go:16:2: cannot find package github.com/略” in any of: 下面略
作者的提醒
对于这样的问题,原作者的解决建议是:“go get ./.. 就可以了”
问题来了
我是 go 语言小白,只想编译一下使用,对于这个提醒看不懂啊,谁告诉我怎么操作就好。 十分感谢。
Golang Go语言编译时 cannot find package,请大佬进来点拨一下
更多关于Golang Go语言编译时 cannot find package,请大佬进来点拨一下的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
作者不是说过么 go get ./
更多关于Golang Go语言编译时 cannot find package,请大佬进来点拨一下的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
作者的提示就是你需要做的事情
大佬,请求您多打几个字。我是要执行“go get ./” 还是执行“go ./…”
在哪个位置执行这个命令啊?
是在 go build 之前么,还是之后?
拜谢。
按这个来吧
但是没有看到你提及“go get ./”,或者“go get ./…”呀?
大佬别嫌烦,我只是想编译一下,此前没有深入学习 go 语言。
你这是因为没有拉取项目的依赖 执行 go get ./..
拉取依赖,之后 go build
谢谢你,等了这么久,还有回复。
望夫崖上风帆近,病树前头草茵茵。
遇到Golang编译时提示“cannot find package”的问题,通常是由于Go语言的模块路径或者环境配置不正确所导致的。以下是一些排查和解决此问题的步骤:
-
检查
GOPATH
和GOROOT
:- 确保
GOROOT
环境变量正确指向你的Go安装目录。 GOPATH
是你的工作区目录,确保你的项目位于GOPATH/src
下,或者如果你在使用Go Modules,则GOPATH
的设置不那么关键,但GOROOT
必须正确。
- 确保
-
使用Go Modules:
- 如果你的项目在
go.mod
文件中定义了依赖,确保你在项目的根目录下运行编译命令。 - 运行
go mod tidy
来清理和更新你的模块依赖。 - 使用
go mod verify
来验证模块依赖的完整性。
- 如果你的项目在
-
检查import路径:
- 确保你的import路径正确无误,特别是第三方包,它们通常从远程仓库(如GitHub)获取。
- 如果路径中包含版本控制信息(如
v1
、v2
等),确保它与你go.mod
文件中定义的一致。
-
网络问题:
- 如果你在访问外部依赖时遇到网络问题,尝试配置Go的代理或使用VPN。
-
清理缓存:
- 有时候,清理Go的缓存(使用
go clean -cache
)可以解决一些奇怪的编译问题。
- 有时候,清理Go的缓存(使用
按照这些步骤逐一排查,通常可以解决大部分“cannot find package”的问题。如果问题依旧,请检查具体的错误信息和上下文,可能需要更详细的调试。