Beego:模块的路由问题
Beego: Routing issues with modules
如果我使用模块,而 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
但这也没有帮助。
现在我连运行蜜蜂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 文档说我应该更喜欢新项目的模块方法,但我在文档中找不到任何关于如何搭建和使用模块系统的蜜蜂的信息。
只是因为缺少文件 commentsRouter_controllers.go。不知道beego怎么不生成文件routers/commentsRouter_controllers.go时运行ning app在$gopath之外。
那么我们只能访问localhost/swagger。任何其他路径(或路由)都返回 404。
解法:
不是一个好方法但有效:
- 将$your_project的源代码复制到$gopath/src
- cd $gopath/src/$your_project > bee 运行 (只是为了生成文件commentsRouter_controllers.go) > stop 运行ning app
- 复制文件 $gopath/src/$your_project/routers/commentsRouter_controllers。转到 $your_project/routers
- cd $your_project > 蜜蜂 运行
祝你好运
最新的Beego Bee貌似支持在GOPATH外生成路由
检查一下。它现在对我有用。
如果我使用模块,而 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
但这也没有帮助。
现在我连运行蜜蜂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 文档说我应该更喜欢新项目的模块方法,但我在文档中找不到任何关于如何搭建和使用模块系统的蜜蜂的信息。
只是因为缺少文件 commentsRouter_controllers.go。不知道beego怎么不生成文件routers/commentsRouter_controllers.go时运行ning app在$gopath之外。 那么我们只能访问localhost/swagger。任何其他路径(或路由)都返回 404。
解法:
不是一个好方法但有效:
- 将$your_project的源代码复制到$gopath/src
- cd $gopath/src/$your_project > bee 运行 (只是为了生成文件commentsRouter_controllers.go) > stop 运行ning app
- 复制文件 $gopath/src/$your_project/routers/commentsRouter_controllers。转到 $your_project/routers
- cd $your_project > 蜜蜂 运行
祝你好运
最新的Beego Bee貌似支持在GOPATH外生成路由
检查一下。它现在对我有用。