PhpCsFixer で以下のようなエラーが出るようになった
PHP Fatal error: Uncaught Error: Call to undefined method PhpCsFixer\Config::create()
php-cs-fixer の v3.0.0 が 2021-05-03 21:51 UTC にリリースされました。
その際、破壊的な変更として、
method create of class Config has been removed, use the constructor
が行われた様子。詳しくは、以下参照のこと。
https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/3.0/UPGRADE-v3.md
結果として、前述のエラーが出るようになりました。
PHP Fatal error: Uncaught Error: Call to undefined method PhpCsFixer\Config::create()
とりあえずの対策
v3.0.0 では他にも大きな変更が入っていそうなので、いったん、v2 にダウングレードします。
// global
$ composer global require friendsofphp/php-cs-fixer:v2.x --prefer-dist
// local
$ composer require --dev friendsofphp/php-cs-fixer:v2.x --prefer-dist
アップグレードするには
以下のように、create関数をnewに置き換えれば大丈夫そうではあります。
(未確認)
// return PhpCsFixer\Config::create()
return (new PhpCsFixer\Config())
->setRules(...)
;
おわりに
composer.lockしている環境では特に問題ないと思いますが、CI環境などでglobalにインストールしている場合など、composer.lockしていない環境では、v3リリース以降突然エラーになったかと思います。
誰かのお役に立てますように 🙏
ではでは。