使用beego搭建项目首页
最近尝试使用 beego 来初始化一个项目,按照文档来一步步的操作。 由于初次尝试使用golang来构建 这里也记录一下自己在初始化的时候所遇到的问题与解决。 由于也是新手,所以遇到的问题可能比较低级,但是这也作为以后熟练使用框架的一些基础吧
一、安装beego与bee工具¶
安装工具有两种方法,一种是使用go get
命令,一种是使用go mod
命令,但是两种方法都有一些前置的操作
- 设备goproxy, 加快国内的下载速度
- 将
$GOPATH/bin
添加到环境变量中
设置goproxy
由于国内的网络环境原因,需要设置代理才可以快速的下载golang的第三方包。
目前使用比较广泛的是goproxy.io与goproxy.cn,goproxy.cn 为七牛云所搭建,设置方法相同,只是路径不同
我本机的go 版本为1.16,13以下的还是升级吧,毕竟目前还看,go mod 应该是未来的主流
将 $GOPATH/bin
添加到环境变量PATH
中。
第二步不是必须的,因为要使用bee工具快速生成beego网站的基础目录,所以如果想在任意目录下使用bee工具就需要将bin目录添加到环境变量PATH中。
上面的命令为临时变更,想要永久变更,需要修改以下的文件,将上面的代码添加到文件任意一个
a和b是系统级别的,建议别修改,如果使用bash 则修改~./bashrc
, 如果使用zsh,则修改~/.zshrc
1.1 使用 go get
命令安装beego与bee工具¶
安装beego
安装bee工具, bee工具可以快速初始化一个beego项目,也运行beego项目,并可以热加载
问题一, 这些包都安装到哪里了?
通过go env GOPATH
来查看系统的GOPATH目录,安装的第三方包被下载到了$GOPATH/pkg/mod
目录下,并且目录结构也是按照包的路径结构。
1.2 使用go mod download
下载第三方包¶
也可以使用go mod download
命令下载第三方包,这种一般是将别人的项目clone到本地以后,本地先根据go.mod文件里的包信息下载对应的库版本,有点类似于python中的requirements.txt 文件的作用,在python中会创建一个虚拟环境,但是在go中是没有虚拟环境的概念的,所有的第三方包都放在一起,会根据版本号作为区分。
先在一个空白 的目录使用go mod init modtest
命令初始化mod文件, 这里会生成一个go.mod文件
查看它的内容cat go.mod
这里可以添加第三方包的依赖
这时在go.mod目录下,使用go mod download
命令来下载第三方包。
无论使用go get
还是go mod download
命令,都不会显示下载的进度条,看着挺别扭的。
二、使用bee工具生成beego项目结构¶
我们使用一个新的目录来生成beego项目,使用bee new beetest
会生成一个新的目录beetest, 这里会生成新的go.mod文件
进到beetest目录
先不用管项目里的目录结构,使用bee run
命令即可启动服务,这里在浏览器中打开http://127.0.0.1:8080
即可看到beego的欢迎页面。
问题二,如果不使用go mod download
则不能使用,为什么?
因为在初始化项目以后,只有go.mod文件,没有go.sum 文件, 该文件会记录一些库的信息,如果没有的话会提示
所以需要使用go mod download
命令来下载包并且将信息写入到go.sum 文件中。
