我有一个使用 gin-gonic 定义的 golang web 应用程序。我已经定义了 /usr/local/goapp 下的 goapp 结构是这样的 -/usr/local/goapp+src+bin+pkg这里是我的 go env -GOPATH - /usr/localGOBIN - /usr/local/ goapp/binGOROOT - /usr/local/go当我在源代码的主文件夹下运行 go build 和 go install 时,我得到了我的二进制文件,我可以运行它并看到当我转到主页 URL 时我的 html 被加载。如果我尝试在 bin 文件夹下运行相同的二进制文件,当我转到主页 URL 时,我看不到 html 正在加载。我发现 404 页面未找到。我在这里错过了什么吗?有没有人遇到过这样的问题?
1 回答
牧羊人nacy
TA贡献1862条经验 获得超7个赞
所有这些 GOPATH、GOROOT 以及当然缺少的 PATH 变量只是说明了如何调用 go 程序本身以及它在哪里搜索模块。但是您告诉我们,您构建并安装了一些 go 程序。
当一个 go 程序构建完成后,实际上就不再需要 go 了。您可以将二进制文件放在您想要的任何位置,甚至是另一台具有相同或至少类似系统的机器上,然后在那里运行该程序。
当您已经构建并安装并且似乎被称为 gin-gonic 的程序被执行时,您将在某个路径中执行它,也称为当前工作目录(参见 getcwd(2) 或 pwd(1))。
我现在只是猜测,在当前工作目录下,有你的 htdocs、index.html,以及这个 gin-gonic 用来创建页面的任何文件。
通常情况下,如果这样的程序找不到它应该创建、发送、生成的文档,不管怎样,它都会返回代码 404:未找到。
虽然只是猜测,这很可能是您所处的情况,当您使用不同的当前工作目录运行程序时,而不是程序期望其文件所在的工作目录。
- 1 回答
- 0 关注
- 171 浏览
添加回答
举报
0/150
提交
取消