Golang Go语言编译时 cannot find package,请大佬进来点拨一下

发布于 1周前 作者 htzhanglong 来自 Go语言

过程

通过 “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

10 回复

作者不是说过么 go get ./

更多关于Golang Go语言编译时 cannot find package,请大佬进来点拨一下的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


作者的提示就是你需要做的事情


大佬,请求您多打几个字。我是要执行“go get ./” 还是执行“go ./…”
在哪个位置执行这个命令啊?
是在 go build 之前么,还是之后?
拜谢。

基于 go module 使用

go env -w GO111MODULE=on

go env -w GOPROXY=https://goproxy.cn,direct

在任意目录 git clone https://github.com/taoshihan1991/go-fly.git

进入 go-fly 目录

源码运行 go run go-fly.go server

源码打包 go build go-fly.go 会生成 go-fly 可以执行文件

导入数据库(会删除表清空数据) ./go-fly install

二进制文件运行

linux: ./go-fly server [可选 -p 8082 -d]

windows: go-fly.exe server [可选 -p 8082 -d]

关闭程序 ./go-fly stop

linux 下使用 ps 命令结合 kill 命令杀掉进程

ps -ef|grep go-fly 看到父子进程 id

kill 进程父进程 id ; kill 进程子进程 id

按这个来吧


但是没有看到你提及“go get ./”,或者“go get ./…”呀?


大佬别嫌烦,我只是想编译一下,此前没有深入学习 go 语言。

你这是因为没有拉取项目的依赖 执行 go get ./.. 拉取依赖,之后 go build


谢谢你,等了这么久,还有回复。
望夫崖上风帆近,病树前头草茵茵。

遇到Golang编译时提示“cannot find package”的问题,通常是由于Go语言的模块路径或者环境配置不正确所导致的。以下是一些排查和解决此问题的步骤:

  1. 检查GOPATHGOROOT

    • 确保GOROOT环境变量正确指向你的Go安装目录。
    • GOPATH是你的工作区目录,确保你的项目位于GOPATH/src下,或者如果你在使用Go Modules,则GOPATH的设置不那么关键,但GOROOT必须正确。
  2. 使用Go Modules

    • 如果你的项目在go.mod文件中定义了依赖,确保你在项目的根目录下运行编译命令。
    • 运行go mod tidy来清理和更新你的模块依赖。
    • 使用go mod verify来验证模块依赖的完整性。
  3. 检查import路径

    • 确保你的import路径正确无误,特别是第三方包,它们通常从远程仓库(如GitHub)获取。
    • 如果路径中包含版本控制信息(如v1v2等),确保它与你go.mod文件中定义的一致。
  4. 网络问题

    • 如果你在访问外部依赖时遇到网络问题,尝试配置Go的代理或使用VPN。
  5. 清理缓存

    • 有时候,清理Go的缓存(使用go clean -cache)可以解决一些奇怪的编译问题。

按照这些步骤逐一排查,通常可以解决大部分“cannot find package”的问题。如果问题依旧,请检查具体的错误信息和上下文,可能需要更详细的调试。

回到顶部