Gitea如何从低版本升级到高版本

我当前版本是1.9.6,我想升级到1.14.2
直接kill掉原来的进程
使用命令:./gitea-1.14.2-linux-amd64 web 启动发现报错无法访问,
又切换回原来的1.9.6正常
启动错误日志如下:

2021/06/15 15:26:56 cmd/web.go:82:runWeb() [I] Starting Gitea on PID: 30195
2021/06/15 15:26:56 ...dules/setting/git.go:101:newGit() [I] Git Version: 2.26.0, Wire Protocol Version 2 Enabled
2021/06/15 15:26:56 cmd/web.go:126:runWeb() [I] Global init
2021/06/15 15:26:56 ...dules/setting/git.go:101:newGit() [I] Git Version: 2.26.0, Wire Protocol Version 2 Enabled
2021/06/15 15:26:56 routers/init.go:134:GlobalInit() [T] AppPath: /yatop/gitea/gitea-1.14.2-linux-amd64
2021/06/15 15:26:56 routers/init.go:135:GlobalInit() [T] AppWorkPath: /yatop/gitea
2021/06/15 15:26:56 routers/init.go:136:GlobalInit() [T] Custom path: /yatop/gitea/custom
2021/06/15 15:26:56 routers/init.go:137:GlobalInit() [T] Log path: /yatop/gitea/log
2021/06/15 15:26:56 routers/init.go:49:checkRunMode() [I] Run Mode: Prod
panic: template: repo/commit_page:26: function "AvatarLink" not defined

goroutine 1 [running]:
html/template.Must(...)
	/usr/local/go/src/html/template/template.go:374
github.com/unrolled/render.(*Render).compileTemplatesFromAsset(0xc0056a5980)
	/source/vendor/github.com/unrolled/render/render.go:283 +0x6f0
github.com/unrolled/render.(*Render).compileTemplates(0xc0056a5980)
	/source/vendor/github.com/unrolled/render/render.go:194 +0x4c
github.com/unrolled/render.New(0xc00560b148, 0x1, 0x1, 0x1)
	/source/vendor/github.com/unrolled/render/render.go:142 +0x133
code.gitea.io/gitea/modules/templates.HTMLRenderer(0xc00560b3c0)
	/source/modules/templates/base.go:88 +0x16a
code.gitea.io/gitea/routers/routes.Recovery(0xc00617e1c0)
	/source/routers/routes/base.go:147 +0x25
code.gitea.io/gitea/routers/routes.WebRoutes(0xc00617e0c0)
	/source/routers/routes/web.go:144 +0x214
code.gitea.io/gitea/routers/routes.NormalRoutes(0xc000417600)
	/source/routers/routes/web.go:123 +0x11b
code.gitea.io/gitea/cmd.runWeb(0xc000417600, 0x0, 0x0)
	/source/cmd/web.go:138 +0x4ae
github.com/urfave/cli.HandleAction(0x265aa20, 0x38c5030, 0xc000417600, 0xc000417600, 0x0)
	/source/vendor/github.com/urfave/cli/app.go:524 +0x105
github.com/urfave/cli.Command.Run(0x2a64fa0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2bc8ce0, 0x16, 0x0, ...)
	/source/vendor/github.com/urfave/cli/command.go:173 +0x579
github.com/urfave/cli.(*App).Run(0xc0016fa1c0, 0xc000132000, 0x2, 0x2, 0x0, 0x0)
	/source/vendor/github.com/urfave/cli/app.go:277 +0x808
main.main()
	/source/main.go:115 +0xa6a

你是不是有自定义模版?有自定义模版的话,模版可能需要更新。另外每个版本你要改成相同的二进制文件名。

没有自定义模板,改二进制文件的名字也就是把gitea-1.14.2-linux-amd64改成gitea-1.9.6-linux-amd64

二进制文件名最好不要随便修改,统一改为 gitea,因为hooks和keys里面需要用到这个。你这个错误就是模版里面的错误,你看下custom/templates 下有没有文件。如果没有自定义模版是不会出现这种问题的。

谢谢,那现在如果我想升级该怎么办,没有添加过自定义模板,custom下面都是之前启动1.9.6时自动添加的,如果升级的话是需要把custom文件删掉,让新版本的自动生成么?
目前文件结构如下:

你确定在 custom/templates 下没有文件吗?

升级的方法是逐步升级,从 1.9.6 → 1.10.x → 1.11.x → 1.12.x → 1.13.x → 1.14.x → 1.15.x → 1.16.x

Gitea自己只有一个二进制程序啊,默认模版都打包到二进制里面缺了。你的 custom/templates 文件都是哪里来的?这些就是自定义模版。自定义模版在版本更新之后可能会失效。