如果我使用模块,而 GOPATH 旧方法完美运行,路由对我来说根本不起作用。我是golang的新手,如果我做错了什么,请纠正我。我一直在尝试使用 bee 创建 API 项目,但我发现所有新项目都必须使用 go 1.11 中发布的模块方法。我使用bee api api-name命令来搭建新项目。它出现在 GOPATH 中。我将它从 GOPATH 路径移到另一个目录。然后我做了go mod init mod,然后我能够运行bee run并且 API 已成功启动,但路由不起作用。我做了一些比较,发现该commentsRouter文件没有生成。我做错了什么?我试着做set GO111MODULE=on然后go get -u github.com/beego/bee,但这也没有帮助。现在我什至不能运行bee API,我明白了 发生了0004 Failed to build the application: main.go:4:2: package api-name/routers is not in GOROOT (c:\go\src\api-name\routers)什么?我很困惑。官方 go 文档说我应该更喜欢新项目的模块方法,但我在文档中找不到任何关于如何在模块系统中搭建和使用 bee 的内容。
2 回答
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
只是因为缺少文件commentsRouter_controllers.go。不知道beego在$gopath之外运行app时如何不生成文件routers/commentsRouter_controllers.go。那么我们就只能访问localhost/swagger了。任何其他路径(或路由)都返回 404。
解决方案:
不是一个好方法,但有效:
将 $your_project 的源代码复制到 $gopath/src
cd $gopath/src/$your_project > bee run (只用于生成文件commentsRouter_controllers.go) > stop running app
复制文件 $gopath/src/$your_project/routers/commentsRouter_controllers.go 到 $your_project/routers
cd $your_project > 蜜蜂运行
祝你好运
- 2 回答
- 0 关注
- 201 浏览
添加回答
举报
0/150
提交
取消