如果我使用模块,而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的东西。
最佳答案
只是因为缺少文件commentsRouter_controllers.go。不知道在$ gopath之外运行应用程序时,beego如何不会生成文件routers/commentsRouter_controllers.go。
然后,我们只能访问localhost/swagger。所有其他路径(或路由)都将全部返回404。
解决方案:
这不是一个好方法,但是有效:
祝你好运