beego的安装及bee工具的使用

这篇具有很好参考价值的文章主要介绍了beego的安装及bee工具的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、beego 的安装

beego 的安装是典型的 Go 安装包的形式:

go get github.com/astaxie/beego

beego的安装及bee工具的使用,go/beego,beego,go

常见问题:

git 没有安装,请自行安装不同平台的 git,如何安装请自行搜索。

git https 无法获取,请配置本地的 git,关闭 https 验证:

git config --global http.sslVerify false

无法上网怎么安装 beego,目前没有好的办法,接下来我们会整理一个全包下载,每次发布正式版本都会提供这个全包下载,包含依赖包。

2、beego 的升级

beego 升级分为 go 方式升级和源码下载升级:

Go 升级,通过该方式用户可以升级 beego 框架,强烈推荐该方式:

go get -u github.com/astaxie/beego

源码下载升级,用户访问 https://github.com/astaxie/beego ,下载源码,然后覆盖到 $GOPATH/src/github.com/astaxie/beego 目录,然后通过本地执行安装就可以升级了:

go install    github.com/astaxie/beego

3、bee 工具的安装

您可以通过如下的方式安装 bee 工具:

go get github.com/beego/bee

beego的安装及bee工具的使用,go/beego,beego,go

提示:安装bee包后,需要将$GOPATH/bin路径添加到环境变量path中, 否则会提示找不到bee命令,$GOPATH代表的就是你的GOPATH路径,如果你不知道GOPATH路径在哪里,执行下go env命令,会列出所有go相关的环境变量,从里面找到GOPATH路径。

# go env | grep GOPATH
GOPATH="/root/go"

vim /etc/profile
末尾添加
export PATH=$PATH:/root/go/bin
export GOPATH=/root/go

source /etc/profile

echo $GOPATH
/root/go

执行bee命令

# bee
2022/04/12 16:01:40 INFO     ▶ 0001 Getting bee latest version...
2022/04/12 16:01:41 WARN     ▶ 0002 Update available 1.12.0 ==> 2.0.2
2022/04/12 16:01:41 WARN     ▶ 0003 Run `bee update` to update
2022/04/12 16:01:41 INFO     ▶ 0004 Your bee are up to date
Bee is a Fast and Flexible tool for managing your Beego Web Application.

USAGE
    bee command [arguments]

AVAILABLE COMMANDS

    version     Prints the current Bee version
    migrate     Runs database migrations
    api         Creates a Beego API application
    bale        Transforms non-Go files to Go source files
    fix         Fixes your application by making it compatible with newer versions of Beego
    pro         Source code generator
    dlv         Start a debugging session using Delve
    dockerize   Generates a Dockerfile for your Beego application
    generate    Source code generator
    hprose      Creates an RPC application based on Hprose and Beego frameworks
    new         Creates a Beego application
    pack        Compresses a Beego application into a single file
    rs          Run customized scripts
    run         Run the application by starting a local development server
    server      serving static content over HTTP on port
    update      Update Bee

Use bee help [command] for more information about a command.

ADDITIONAL HELP TOPICS


Use bee help [topic] for more information about that topic.

beego的安装及bee工具的使用,go/beego,beego,go

4、new 命令-新建Web 项目

new 命令是新建一个 Web 项目,我们在命令行下执行 bee new <项目名> 就可以创建一个新的项目。但是注意该命令必须在 $GOPATH/src 下执行。最后会在 $GOPATH/src 相应目录下生成如下目录结构的项目:

mkdir /root/go/src/
bee new myproject

beego的安装及bee工具的使用,go/beego,beego,go

myproject/
├── conf            - 配置文件存放目录
│   └── app.conf    - beego应用配置文件,里面包含一些默认的配置包括启动端口、运行模式等等
├── controllers     - 控制器目录
│   └── default.go
├── main.go         - 入口文件
├── models          - model目录,存放我们的业务逻辑和数据库相关的操作
├── routers         - 路由配置目录,主要存放我们各个业务模块的路由设置
│   └── router.go
├── static          - 静态资源目录,默认静态资源访问url为 "http://域名/static/资源路径"
│   ├── css
│   ├── img
│   └── js
├── tests           - 单元测试脚本目录
│   └── default_test.go
└── views           - 视图模板目录
    └── index.tpl

beego的安装及bee工具的使用,go/beego,beego,go

5、api 命令-创建 API 应用

上面的 new 命令是用来新建 Web 项目,不过很多用户使用 beego 来开发 API 应用。所以这个 api 命令就是用来创建 API 应用的,执行命令之后如下所示:

bee new apiproject

beego的安装及bee工具的使用,go/beego,beego,go

从上面的目录我们可以看到和 Web 项目相比,少了 static 和 views 目录,多了一个 test 模块,用来做单元测试的。

同时,该命令还支持一些自定义参数自动连接数据库创建相关 model 和 controller: bee api [appname] [-tables=""] [-driver=mysql] [-conn="root:<password>@tcp(127.0.0.1:3306)/test"] 如果 conn 参数为空则创建一个示例项目,否则将基于链接信息链接数据库创建项目。

6、run 命令-运行项目

我们在开发 Go 项目的时候最大的问题是经常需要自己手动去编译再运行,bee run 命令是监控 beego 的项目,通过 fsnotify监控文件系统。但是注意该命令必须在 $GOPATH/src/appname 下执行。 这样我们在开发过程中就可以实时的看到项目修改之后的效果:

cd /root/go/src/myproject

#设置环境为国内代理
go env -w GOPROXY=https://goproxy.cn

#使用以下命令来整理依赖
go mod tidy

这个命令会:
删除不需要的依赖包
下载新的依赖包
更新go.sum

#初始化mod 模块
go mod init

#运行项目
bee run

#提示:bee运行项目,支持热编译,就是如果你修改了go文件,bee会自动重新编译,你只要刷新页面就可以看到最新的效果,不需要手动编译。
#可以直接运行main.go文件, 例如: go run main.go,这种方式每次修改文件,需要手动编译。

beego的安装及bee工具的使用,go/beego,beego,go

通过浏览器访问: http://localhost:8080 , 可以看到如下效果:

beego的安装及bee工具的使用,go/beego,beego,go

7、pack 命令

pack 目录用来发布应用的时候打包,会把项目打包成 zip 包,这样我们部署的时候直接把打包之后的项目上传,解压就可以部署了:

bee pack

beego的安装及bee工具的使用,go/beego,beego,go

beego的安装及bee工具的使用,go/beego,beego,go

8、bale 命令

这个命令目前仅限内部使用,具体实现方案未完善,主要用来压缩所有的静态文件变成一个变量申明文件,全部编译到二进制文件里面,用户发布的时候携带静态文件,包括 js、css、img 和 views。最后在启动运行时进行非覆盖式的自解压。

9、version 命令

这个命令是动态获取 bee、beego 和 Go 的版本,这样一旦用户出现错误,可以通过该命令来查看当前的版本

bee version

beego的安装及bee工具的使用,go/beego,beego,go

10、generate 命令

这个命令是用来自动化的生成代码的,包含了从数据库一键生成 model,还包含了 scaffold 的,通过这个命令,让大家开发代码不再慢

bee generate scaffold [scaffoldname] [-fields=""] [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"]
    The generate scaffold command will do a number of things for you.
    -fields: a list of table fields. Format: field:type, ...
    -driver: [mysql | postgres | sqlite], the default is mysql
    -conn:   the connection string used by the driver, the default is root:@tcp(127.0.0.1:3306)/test
    example: bee generate scaffold post -fields="title:string,body:text"

bee generate model [modelname] [-fields=""]
    generate RESTful model based on fields
    -fields: a list of table fields. Format: field:type, ...

bee generate controller [controllerfile]
    generate RESTful controllers

bee generate view [viewpath]
    generate CRUD view in viewpath

bee generate migration [migrationfile] [-fields=""]
    generate migration file for making database schema update
    -fields: a list of table fields. Format: field:type, ...

bee generate docs
    generate swagger doc file

bee generate test [routerfile]
    generate testcase

bee generate appcode [-tables=""] [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"] [-level=3]
    generate appcode based on an existing database
    -tables: a list of table names separated by ',', default is empty, indicating all tables
    -driver: [mysql | postgres | sqlite], the default is mysql
    -conn:   the connection string used by the driver.
             default for mysql:    root:@tcp(127.0.0.1:3306)/test
             default for postgres: postgres://postgres:postgres@127.0.0.1:5432/postgres
    -level:  [1 | 2 | 3], 1 = models; 2 = models,controllers; 3 = models,controllers,router

11、migrate 命令

这个命令是应用的数据库迁移命令,主要是用来每次应用升级,降级的SQL管理。

bee migrate [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"]
    run all outstanding migrations
    -driver: [mysql | postgresql | sqlite], the default is mysql
    -conn:   the connection string used by the driver, the default is root:@tcp(127.0.0.1:3306)/test

bee migrate rollback [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"]
    rollback the last migration operation
    -driver: [mysql | postgresql | sqlite], the default is mysql
    -conn:   the connection string used by the driver, the default is root:@tcp(127.0.0.1:3306)/test

bee migrate reset [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"]
    rollback all migrations
    -driver: [mysql | postgresql | sqlite], the default is mysql
    -conn:   the connection string used by the driver, the default is root:@tcp(127.0.0.1:3306)/test

bee migrate refresh [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"]
    rollback all migrations and run them all again
    -driver: [mysql | postgresql | sqlite], the default is mysql
    -conn:   the connection string used by the driver, the default is root:@tcp(127.0.0.1:3306)/test

12、dockerize 命令

这个命令可以通过生成Dockerfile文件来实现docker化你的应用。

例子:

生成一个以1.6.4版本Go环境为基础镜像的Dockerfile,并暴露9000端口:

$ bee dockerize -image="library/golang:1.6.4" -expose=9000
______
| ___ \
| |_/ /  ___   ___
| ___ \ / _ \ / _ \
| |_/ /|  __/|  __/
\____/  \___| \___| v1.6.2
2016/12/26 22:34:54 INFO     ▶ 0001 Generating Dockerfile...
2016/12/26 22:34:54 SUCCESS  ▶ 0002 Dockerfile generated.
更多帮助信息可执行bee help dockerize.

13、bee 工具配置文件

bee 工具的源码目录下有一个 bee.json 文件,这个文件是针对 bee 工具的一些行为进行配置。该功能还未完全开发完成,不过其中的一些选项已经可以使用:

  • "version": 0:配置文件版本,用于对比是否发生不兼容的配置格式版本。
  • "go_install": false:如果您的包均使用完整的导入路径(例如:github.com/user/repo/subpkg),则可以启用该选项来进行 go install 操作,加快构建操作。
  • "watch_ext": []:用于监控其它类型的文件(默认只监控后缀为 .go 的文件)。
  • "dir_structure":{}:如果您的目录名与默认的 MVC 架构的不同,则可以使用该选项进行修改。
  • "cmd_args": []:如果您需要在每次启动时加入启动参数,则可以使用该选项。
  • "envs": []:如果您需要在每次启动时设置临时环境变量参数,则可以使用该选项。

参考文档:bee工具的使用

参考文档:beego教程文章来源地址https://www.toymoban.com/news/detail-668788.html

到了这里,关于beego的安装及bee工具的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • pip install安装CPM-Bee出现ModuleNotFoundError: No module named ‘torch‘的解决方案

      大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作

    2024年02月10日
    浏览(50)
  • Go语言中的包管理工具之Go Modules的使用

    GoLang 中常用的包管理的方式 常用的有三种 Go Path Go Vendor Go Modules 关于 Go Modules 1 ) 概述 Go的包管理,经过社区和官方的共同努力下,最终在百家争鸣后 Go官方在 2018.8 推出了go 1.11版本中的Go Modules,并且很快成为 一统江湖的包管理方式 Go Modules已经成为目前最主流的包管理工具

    2024年02月03日
    浏览(31)
  • Go语言中的包管理工具之Go Path的使用

    GoLang 中常用的包管理的方式 1 )概述 常用的有三种 Go Path Go Vendor Go Modules 2 )发展历程 早期go的包管理存在很大缺陷,甚至可以说没有官方统一的包管理工具 一方面官方在努力发布一些实验性的包管理工具。 同时也出现了很多社区开发的包管理工具。 在官方和社区的包管理

    2024年02月03日
    浏览(37)
  • Go性能调优及相关工具使用(四)——性能调优工具pprof的使用

    本堂课的知识要点有哪些? 1、性能发现工具pprof 2、性能调优案例 1、性能调优简介 性能调优原则: 要依靠数据不是猜测 要 定位最大瓶颈 而不是细枝末节 不要过早优化 不要过度优化 2、性能发现工具pprof 说明: 1、希望知道应用在什么地方耗费了多少CPU、Memory 2、pprof是用于

    2024年02月08日
    浏览(38)
  • go mod tidy总是安装最新依赖,如何查找哪个模块导致某个包安装最新依赖,提供一个小工具

    安装: go install github.com/jan-bar/interesting/findModVer@latest 执行: findModVer d:myproject 结果如下图所示: 根据结果可以找到哪个依赖导致 google.golang.org/grpc v1.45.0 使用了这个版本,这样每次执行 go mod tidy 会自动修改该模块到 v1.45.0 版本。我看了下 github.com/spf13/viper v1.11.0 就是用的 go

    2024年02月08日
    浏览(51)
  • Go的命令行工具开发:使用Cobra库

    今天我们将深入探讨如何使用Go语言和Cobra库来开发命令行工具。 命令行工具在软件开发中有着广泛的应用,它们快速、高效,且易于自动化。 Go语言因其简洁、高效而被广泛用于命令行工具的开发。Cobra库则是Go中用于构建命令行工具的重要库之一。 Go的优势 跨平台:Go支持

    2024年02月06日
    浏览(29)
  • Go 性能压测工具之wrk介绍与使用

    在项目正式上线之前,我们通常需要通过压测来评估当前系统能够支撑的请求量、排查可能存在的隐藏bug;压力测试(压测)是确保系统在高负载情况下仍能稳定运行的重要步骤。通过模拟高并发场景,可以评估系统的性能瓶颈、可靠性和稳定性,进而优化系统架构和资源配

    2024年04月08日
    浏览(45)
  • Go 项目依赖注入wire工具最佳实践介绍与使用

    目录 一、引入 二、控制反转与依赖注入 三、为什么需要依赖注入工具 3.1 示例 3.2 依赖注入写法与非依赖注入写法 四、wire 工具介绍与安装 4.1 wire 基本介绍 4.2 安装 五、Wire 的基本使用 5.1 前置代码准备 5.2 使用 Wire 工具生成代码 六、Wire 核心技术 5.1 抽象语法树分析 5.2 模板

    2024年04月08日
    浏览(35)
  • 使用Beego和MySQL实现帖子和评论的应用,并进行接口测试(附源码和代码深度剖析)

    经过对需求的分析,我增加了一些额外的东西,比如增加了 user 用户,因为我考虑到帖子或者是评论(跟回帖差不多)都会有作者,主要的功能有增加帖子、查看所有或单个帖子、增加评论、查看某个帖子的所有评论或单个评论。数据我是将它存在数据库中,而不是内存中。

    2024年02月14日
    浏览(36)
  • 测试工具 go-stress-testing/fortio/vegeta 使用体验

    go-stress-testing 是一款由go语言实现的压测工具,源码开源、支持二次开发、可以压测http、webSocket请求、私有rpc调用,使用协程模拟单个用户,可以更高效的利用CPU资源 下载地址 注意需要将项目源码 clone 到 $GOPATH 目录下 mac电脑下载如下这个 放到 $GOPATH 目录下 赋权 chmod +x go

    2024年02月08日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包