主页 > 手机  > 

Go之Windows下Beego项目的搭建

Go之Windows下Beego项目的搭建
一、GO 环境配置

        从 Go 1.11 开始,Go 引入了模块(Modules)的概念,允许你在任何位置创建和管理 Go 项目,而不需要将它们放在 $GOPATH/src 下。Go Modules 使用 go.mod 文件来管理依赖项和版本信息。

查看GOPATH位置 D:\project_go\demo_beego>echo %GOPATH% D:\project_go 区分下载安装指令 go get:主要用于下载和管理依赖库,并不会生成可执行文件。 go install:用于编译并安装可执行文件到 $GOPATH/bin 目录中。 注意编译并安装可执行文件在 %GOPATH%/bin, 下载的第三方依赖库会在 %GOPATH%/pkg

二、bee 的操作 可以在任意位置创建一个demo_beego文件夹,然后在文件夹内部执行 go mod init demo_beego 生成一个go.mod 文件

在 demo_beego 文件夹下通过 go install 安装 bee 工具 D:\project_go\demo_beego>go install github /beego/bee/v2@latest go: downloading github /beego/bee/v2 v2.3.0 go: downloading gopkg.in/yaml.v2 v2.4.0 go: downloading github /go-delve/delve v1.20.2 ... go: downloading github /cilium/ebpf v0.7.0 go: downloading golang.org/x/net v0.23.0 go: downloading golang.org/x/mod v0.8.0 go: downloading github /rivo/uniseg v0.2.0 安装成功后查看 bee 指令,若查找不到则把 %GOPATH%/bin 设置到系统变量中

        bee api 命令用于创建一个基于 Beego 框架的 API 应用程序。这种应用程序通常专注于提供 RESTful API 服务,适合构建后端服务

        bee new 命令用于创建一个完整的 Beego 应用程序。这种应用程序不仅包括 API 功能,还可能包含视图(HTML 页面)、静态资源等,适合构建全栈 Web 应用

D:\project_go\demo_beego>bee 2025/02/19 14:44:17.084 [D] init global config instance failed. If you do not use this, just ignore it. open conf/app.conf: The system cannot find the path specified. 2025/02/19 14:44:17 INFO ▶ 0001 Getting bee latest version... 2025/02/19 14:44:17 INFO ▶ 0002 Your bee are up to date Bee is a Fast and Flexible tool for managing your Beego Web Application. You are using bee for beego v2.x. If you are working on beego v1.x, please downgrade version to bee v1.12.0 USAGE bee command [arguments] AVAILABLE COMMANDS dev Commands which used to help to develop beego and bee update Update Bee version Prints the current Bee version bale Transforms non-Go files to Go source files fix Fixes your application by making it compatible with newer versions of Beego dockerize Generates a Dockerfile and docker-compose.yaml for your Beego application migrate Runs database migrations new Creates a Beego application pack Compresses a Beego application into a single file rs Run customized scripts server serving static content over HTTP on port run Run the application by starting a local development server pro Source code generator api Creates a Beego API application generate Source code generator hprose Creates an RPC application based on Hprose and Beego frameworks dlv Start a debugging session using Delve Use bee help [command] for more information about a command. 通过 bee new 创建项目 D:\project_go\demo_beego>bee new gotest1 2025/02/19 14:45:27.270 [D] init global config instance failed. If you do not use this, just ignore it. open conf/app.conf: The system cannot find the path specified. 2025/02/19 14:45:27 INFO ▶ 0001 Generate new project support go modules. 2025/02/19 14:45:27 INFO ▶ 0002 Creating application... create D:\project_go\demo_beego\gotest1\go.mod create D:\project_go\demo_beego\gotest1\ create D:\project_go\demo_beego\gotest1\conf\ create D:\project_go\demo_beego\gotest1\controllers\ create D:\project_go\demo_beego\gotest1\models\ create D:\project_go\demo_beego\gotest1\routers\ create D:\project_go\demo_beego\gotest1\tests\ create D:\project_go\demo_beego\gotest1\static\ create D:\project_go\demo_beego\gotest1\static\js\ create D:\project_go\demo_beego\gotest1\static\css\ create D:\project_go\demo_beego\gotest1\static\img\ create D:\project_go\demo_beego\gotest1\views\ create D:\project_go\demo_beego\gotest1\conf\app.conf create D:\project_go\demo_beego\gotest1\controllers\default.go create D:\project_go\demo_beego\gotest1\views\index.tpl create D:\project_go\demo_beego\gotest1\routers\router.go create D:\project_go\demo_beego\gotest1\tests\default_test.go create D:\project_go\demo_beego\gotest1\main.go 2025/02/19 14:45:27 SUCCESS ▶ 0003 New application successfully created! 看到 new application successfully created 表示工程创建成功,打开工程可以看到整个工程的目录文件夹结构如下 myproject ├── conf │ └── app.conf ├── controllers │ └── default.go ├── main.go ├── models ├── routers │ └── router.go ├── static │ ├── css │ ├── img │ └── js ├── tests │ └── default_test.go └── views └── index.tpl 如果这时候直接执行 bee run  运行项目,可能会碰到依赖项不存在的问题,如下: (base) PS D:\project_go\demo_beego\gotest1> bee run ______ | ___ \ | |_/ / ___ ___ | ___ \ / _ \ / _ \ | |_/ /| __/| __/ \____/ \___| \___| v2.3.0 2025/02/19 15:33:00 WARN ▶ 0001 Running application outside of GOPATH 2025/02/19 15:33:00 INFO ▶ 0002 Using 'gotest1' as 'appname' 2025/02/19 15:33:00 INFO ▶ 0003 Initializing watcher... main.go:5:2: missing go.sum entry for module providing package github /beego/beego/v2/server/web (imported by gotest1); to add: go get gotest1 2025/02/19 15:33:00 ERROR ▶ 0004 Failed to build the application: main.go:5:2: missing go.sum entry for module providing package github /beego/beego/v2/server/web (imported by gotest1); to add: go get gotest1 这时就要执行命令 go mod tidy ,解决依赖问题

        go mod tidy 用于管理 Go Modules 项目的依赖关系,确保所有需要的依赖都被正确添加,未使用的依赖被移除,并且 go.mod 和 go.sum 文件保持最新。

等依赖下载完成后,再次执行 bee run 或者 go run main.go,成功的话打开网页http://:8080 即可看到如下内容 (base) PS D:\project_go\demo_beego\gotest1> bee run ______ | ___ \ | |_/ / ___ ___ | ___ \ / _ \ / _ \ | |_/ /| __/| __/ \____/ \___| \___| v2.3.0 2025/02/19 15:37:52 WARN ▶ 0001 Running application outside of GOPATH 2025/02/19 15:37:52 INFO ▶ 0002 Using 'gotest1' as 'appname' 2025/02/19 15:37:52 INFO ▶ 0003 Initializing watcher... google.golang.org/protobuf/internal/flags ...... 2025/02/19 15:38:05 SUCCESS ▶ 0004 Built Successfully! 2025/02/19 15:38:05 INFO ▶ 0005 Restarting 'gotest1.exe'... 2025/02/19 15:38:05 SUCCESS ▶ 0006 './gotest1.exe' is running... 2025/02/19 15:38:06.696 [I] [server.go:281] http server Running on http://:8080

三、bee run 与 go run 的区别 特性go run bee run适用范围 适用于任何 Go 项目专门用于 Beego 项目编译方式 每次运行时临时编译编译并监视文件变化,支持热重载自动重启不支持支持文件监视  不支持支持(Go 文件、模板文件、配置文件等)开发效率 较低(需要手动重启)高(自动重启和热重载)命令用途  快速测试和调试单个或少量 Go 文件 开发和调试 Beego 应用程序

标签:

Go之Windows下Beego项目的搭建由讯客互联手机栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Go之Windows下Beego项目的搭建