go框架beego使用:实战篇

beego实战

§ go框架beego使用:实战篇

前言

配置beego的教程在我另一篇博文:https://blog.csdn.net/Acegem/article/details/129387963?spm=1001.2014.3001.5501

1、创建新项目

bee new myproject

2、(sessionon)session开启失败报错

报错信息

[config.go:191] Handler crashed with error runtime error: invalid memory address or nil pointer dereference

解决方法

这种报错多是由于没开启或没正确开启session引起的,开启session方式有两种:

法一:配置文件(配置session开启)

在 conf/app.conf 设置:

sessionon = true

这里尤为注意!在app.conf 这种.conf文件后面不能有注释!,如下:
错误注释写法:

sessionon = true # session开关,true表启用session功能

正确注释写法:

# session开关,true表启用session功能
sessionon = true
法二:主函数(开启session)

在主函数中写入:beego.BConfig.WebConfig.Session.SessionOn = true

func main() {
    
    
	/**
	实现session启用可以通过conf/app.conf配置文件设置
	sessionon = true
	或者在main方法中写入
	beego.BConfig.WebConfig.Session.SessionOn = true
	*/
	beego.BConfig.WebConfig.Session.SessionOn = true
	beego.Run()
}

3、没有go.mod的处理步骤

cd 项目目录名

# 生成一个初始化的 go.mod 文件,文件内容与你之前安装的bee版本也有关。
go mod init 项目目录名

#** 需要联网 **#
# 将需要的包写入go.mod文件中,并生成 go.sum 文件
go get 项目目录名

# 执行,会自动下载go.mod需要的包。
bee run

4、执行bee run的时候报错 Error: 0004 Failed to build the application: main.go:5:2: missing go.sum entry for module

报错信息

main.go:5:2: missing go.sum entry for module providing package github.com/beego/beego/v2/server/web

ERROR    ▶ 0004 Failed to build the application: main.go:5:2: missing go.sum entry for module providing package github.com/beego/beego/v2/server/web

原因

可能是因为go的版本新,最新版的go启用了go.mod模式,也就是包管理工具,而管理包的目录未安装相应的模块包。

解决办法

法1

输入

go build -mod=mod

来安装go.mod(默认在项目目录下)中的依赖包。
再执行

bee run

注意: 一般go.mod文件在使用bee初始化新建项目时(bee new 项目名),就默认在项目目录下生成了,如果没有go.mod文件,需要用go命令初始化一个。

cd 项目目录名

# 生成一个初始化的 go.mod 文件,文件内容与你之前安装的bee版本也有关。
go mod init 项目目录名

#** 需要联网 **#
# 将需要的包写入go.mod文件中,并生成 go.sum 文件
go get 项目目录名

# 执行,会自动下载go.mod需要的包。
bee run
法2(未验证)

关掉go.mod

# go env 可列出所有go相关环境配置, -w 表写入
go env -w GO111MODULE=off

附: 输入 go env 可看到 GO111MODULE默认是开启的。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Acegem/article/details/129389371