Golang-beego安装
说明
- beego/v2安装
- 环境:Windows10
操作
安装go环境,Windows推荐
.msi
安装- 安装完默认会添加一个用户环境变量
GOPATH
,指向C:\Users\XXX\go
,建议更改为你自认为方便的目录,因为以后安装的工具包都要在该目录下,找一个自己好维护的目录比较好,比如D:\go
也未必不是一个不错的选择 - 如果修改了环境变量
GOPATH
记得还需要修改一下环境变量path
,将%USERPROFILE%\go\bin
改为D:\go\bin
- 安装完默认会添加一个用户环境变量
设置GOPROX环境变量
go env -w GOPROXY=https://goproxy.io,direct
- 一般来说国内不能直接访问golang官方包,所以需要做个代理就是设置GOPROX环境变量,不要犹豫,想玩就乖乖设置一下吧
开启GO111MODULE
go env -w GO111MODULE=on
- 用环境变量 GO111MODULE 开启或关闭模块支持,它有三个可选值:off、on、auto,默认值是 auto。
- GO111MODULE=off 无模块支持,go 会从 GOPATH 和 vendor 文件夹寻找包。
- GO111MODULE=on 模块支持,go 会忽略 GOPATH 和 vendor 文件夹,只根据 go.mod 下载依赖。
- GO111MODULE=auto 在 $GOPATH/src 外面且根目录有 go.mod 文件时,开启模块支持。
- 在使用模块的时候,GOPATH 是无意义的,不过它还是会把下载的依赖储存在 $GOPATH/src/mod 中,也会把 go install 的结果放在 $GOPATH/bin 中。
安装beego
go get github.com/beego/beego/v2
- 不报错就说明成功了
安装bee
go get -u github.com/beego/bee/v2
查看版本,这个命令是动态获取 bee、beego 和 Go 的版本
bee version
新建一个Web项目(可以在任意目录下)
bee new <项目名>
创建一个API应用(可以在任意目录下)
bee api <项目名>
监控beego项目(可以理解为运行项目,非部署),注意需要切换到项目根目录下
bee run
打包项目
bee pack bee pack -be GOOS=linux -be GOARCH=arm
- pack 目录用来发布应用的时候打包,会把项目打包成 zip包,这样我们部署的时候直接把打包之后的项目上传,解压就可以部署了
指定运行环境
- GOOS:目标平台的操作系统(darwin、freebsd、linux、windows)
- GOARCH:目标平台的体系架构(386、amd64、arm)
脚手架
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
- generate 命令,这个命令是用来自动化的生成代码的,包含了从数据库一键生成 model,还包含了 scaffold 的,通过这个命令,让大家开发代码不再慢