分享Laravel5.5与Dingo配合遇到的坑

今天在开发的时候碰到了一个dingo的坑,遂分享一下。

前言

目前在项目中使用的Laravel版本是5.5,dingo版本为”dev-master”。一直以来相安无事。直到今天……

报错啦

早上重新composer install安装了项目之后,忽然发现报错了。错误如下:

1
BadMethodCallException(code: 0): Method validateResolved does not exist.

主要引起的原因为我们使用了 FormRequest 请求类。

接着定位到错误代码为dingo中的代码,查找一番后,在GitHub中的一条 commit 讨论中发现是由于最新的代码导致的,并且根据回复,需要将dingo版本指定到2.2.3版本即可。

解决方案

composer.json中的dingo指定版本即可。

1
"dingo/api": "2.2.3"

小结

我们应当在日常开发中指定composer包中的版本,避免发生不必要的错误异常。