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
リリース以降突然エラーになったかと思います。
誰かのお役に立てますように 🙏
ではでは。