【问题踩坑】ThinkPHP8执行composer update后报错模板文件不存在:base.html

  • 原创
  • 作者:程序员三丰
  • 发布时间:2025-01-12 00:16
  • 浏览量:421
本文解决在thinkphp8项目中在执行composer update完成之后,使用的模版继承直接报错板文件不存在:base.html的问题。

问题描述

没有修改任何项目的代码的前提下,只是执行composer update想把项目使用的thinkphp8.0.的版本升级为8.1.的版本,结果升级完成之后,模版继承直接报错了。

问题排查

然后就正常检查代码啥,毕竟没有做任何代码修改,就先排除了。

然后又尝试删除vendor目录和compose.lock文件,然后composer install,反复尝试了多几次,问题依然不得解决,很是头大。

然后,就根据报错信息,尝试阅读vendor目录下的相关源代码,终于发现问题了 view_path 值为空导致的报错!
但是,请看下面截图是官方说明

上面截图官方文档的说明,目前还是不想手动做这个配置,毕竟官方都说了无需配置的,如果手动配置了,后续升级维护都存在隐患。好吧,这个先作为备案吧,继续探索~~

问题解决

好在另外一个测试环境可以正常运行,检查了配置、代码啥的都正常,最后抱着尝试的心态去对比了下两个环境的composer.lock文件,竟然找到了问题根源所在:

两个环境的 topthink/think-view 依赖库版本不一样,原来是执行 composer update 把 topthink/think-view 的版本更新到了最新的 v2.0.2,尝试降级为降级为v2.0.0后问题得以解决。

问题总结

  • 不要轻易去执行composer update,因为它会更新所有composer依赖,难免有些依赖会存在bug,还是单独更新具体某个依赖库,出了问题很容易定位。
  • 不要过于相信第三方composer依赖,强如 topthink/think-view 还是有bug,而且给出的提示信息,让我解决问题耗时费力。
  • 最后,就是遇到composer更新引发的问题,定位依赖包,检查版本,尝试升级或降级版本,一般都能解决问题的。
声明:本文为原创文章,51blog.xyz和作者拥有版权,如需转载,请注明来源于51blog.xyz并保留原文链接:https://www.51blog.xyz/article/84.html

文章归档

推荐文章

buildadmin logo
Thinkphp8 Vue3 Element PLus TypeScript Vite Pinia

🔥BuildAdmin是一个永久免费开源,无需授权即可商业使用,且使用了流行技术栈快速创建商业级后台管理系统。

热门标签

PHP ThinkPHP ThinkPHP5.1 Go Mysql Mysql5.7 Redis Linux CentOS7 Git HTML CSS CSS3 Javascript JQuery Vue LayUI VMware Uniapp 微信小程序 docker wiki Confluence7 学习笔记 uView ES6 Ant Design Pro of Vue React ThinkPHP6.0 chrome 扩展 翻译工具 Nuxt SSR 服务端渲染 scrollreveal.js ThinkPHP8.0 Mac webman 跨域CORS vscode GitHub ECharts Canvas