Golang 使用beego框架的Bee工具(无法下载和没有可执行文件问题)

前言

这两天想着学习一下beego框架,在下载bee时遇到了问题,使用了多个方法都没解决,最后直接使用最笨的方法------下载重新编译出可执行文件,最后成功解决问题,因此在这里记载一下这个bug。

Golang使用beego框架

beego框架的中文文档,有详细的使用介绍,我就是用按着官方文档进行操作,具体操作如下:

  1. beego安装
go get github.com/astaxie/beego
  1. bee工具安装
go get github.com/beego/bee

这里下载的时候就会遇到问题,输出如下:

bee工具还没有支持go mod,go mod 出了这么久仍还没有支持,服气!!!
既然不支持,那么我们需要换一种方法获取beego。
新建一个目录作为Go mod项目,创建方式如下:

mkdir newproject
go mod init newproject
//然后会生成,在go.mod文件,在该文件中添加一行源码替换,我们将beego源码fork到自己的github仓库上
module newproject
replace github.com/beego/bee v1.10.0 -> github.com/sunsong2020/bee v1.12.1
go 1.14

之后我们在执行 go get -u github.com/beego/bee 就可以,现在我们就成功下载了,官方文档说,下载以后会自动在GAPATH/bin下生成bee.exe可执行文件,但是我这里是没有,我寻思自己编译一下吧,但是没有编译成功,各种更改都没有成功,我服了!!!

没招了,我就用出了最后的办法,我把astaxie/beego beego/bee 使用git clone 克隆到本地了,然后把bee整个项目放到beego目录下,然后放到GOPATH/src/github.com工作区中,然后进入到bee目录执行以下命令:

go build main.go

这回终于成功了,生成了一个main.exe可执行文件,执行以下就是bee工具,现在你只需要把这个可执行文件重命名为bee.exe,然后复制粘贴到你的GOPATH/bin 路径下,添加环境变量,然后打开终端,输入bee,神奇的事情发生了,你看:

我是终于成功,终于可以开开心心的学习框架了,折腾了这么久,还是有一些收获的!!!

表达能力就这样了,如果你也遇到了这个问题,并且还没有看到我的博客,那么你可以联系我,我帮你看一看问题。可以关注我的公众号:[Golang梦工厂],或者扫描下图,里面有我的VX,添加我的vx,帮你解决问题。没有问题也可以关注我的公众号,主要发表关于Golang技术,共同学习进步,冲呀!!!

好的,我知道你的问题了。首先,使用beego框架和go-socket.io搭建聊天室需要以下步骤: 1. 安装beego和go-socket.io ```shell go get github.com/astaxie/beego go get github.com/googollee/go-socket.io ``` 2. 创建beego项目 ```shell bee new chatroom cd chatroom ``` 3. 在main.go中引入go-socket.io的包并创建socket.io服务器 ```go package main import ( "github.com/astaxie/beego" "github.com/googollee/go-socket.io" ) func main() { server, err := socketio.NewServer(nil) if err != nil { beego.Error("Socket.IO server creation failed: ", err) return } // TODO: 后续代码 } ``` 4. 添加路由 ```go server.On("connection", func(so socketio.Socket) { beego.Info("New user connected.") // 处理用户连接事件 so.On("chat", func(msg string) { beego.Info("Message received: ", msg) // TODO: 处理消息 }) // 处理用户断开连接事件 so.On("disconnection", func() { beego.Info("User disconnected.") }) }) // 处理根路由 beego.Router("/", &controllers.MainController{}) // 处理socket.io路由 beego.Handler("/socket.io/", server) beego.Handler("/socket.io.js", http.FileServer(http.Dir("./node_modules/socket.io-client/dist/")).ServeHTTP) ``` 5. 在前端页面上添加socket.io客户端代码 ```html <script src="/socket.io.js"></script> <script> var socket = io.connect('http://localhost:8080'); socket.on('connect', function () { console.log('Connected to server.'); }); socket.on('chat', function (message) { console.log('Message received: ' + message); }); socket.on('disconnect', function () { console.log('Disconnected from server.'); }); </script> ``` 6. 处理聊天消息 ```go server.On("connection", func(so socketio.Socket) { beego.Info("New user connected.") // 处理用户连接事件 so.On("chat", func(msg string) { beego.Info("Message received: ", msg) // 广播消息给所有用户 server.BroadcastToAll("chat", msg) }) // 处理用户断开连接事件 so.On("disconnection", func() { beego.Info("User disconnected.") }) }) ``` 这样,你就可以使用beego框架和go-socket.io搭建一个简单的聊天室了。当然,以上代码只是一个简单的示例,你可以根据具体需求进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值