今天在開發的時候碰到了一個dingo的坑,遂分享一下。
前言
目前在專案中使用的Laravel版本是5.5,dingo版本為"dev-master"。一直以來相安無事。直到今天……
報錯啦
早上重新composer install
安裝了專案之後,忽然發現報錯了。錯誤如下:
BadMethodCallException(code: 0): Method validateResolved does not exist.
主要引起的原因為我們使用了 FormRequest 請求類。
接著定位到錯誤程式碼為dingo中的程式碼,查詢一番後,在GitHub中的一條 commit 討論中發現是由於最新的程式碼導致的,並且根據回覆,需要將dingo版本指定到2.2.3
版本即可。
解決方案
將composer.json
中的dingo指定版本即可。
"dingo/api": "2.2.3"
小結
我們應當在日常開發中指定composer包中的版本,避免發生不必要的錯誤異常。