😸

旧バージョンのLaravelでComposer2を使う方法

2021/05/24に公開

kylekatarnls/update-helperをアップデートする

------------------- ↓ 前書きはここから ↓-------------------

なんかよくわからないエラーが出た。

Fatal error: Class UpdateHelper\ComposerPlugin contains 2 abstract methods 
and must therefore be declared abstract or implement the remaining methods
(Composer\Plugin\PluginInterface::deactivate, Composer\Plugin\PluginInterface::uninstall) 
in /home/dozo/vendor/kylekatarnls/update-helper/src/UpdateHelper/ComposerPlugin.php on line 11

単純にcomposer installを打ったつもりが、
インストールすらままならない状態。
(゜-゜) なんやこれ

Composer2Laravelのcomposer installを実行すると発生するらしい。
調べてみるとkylekatarnls/update-helperの1.2.0がコケている。
これのバージョンを1.2.1以上にすればよさそうだ。

ただ、composer installはバージョン依存関係を維持するために使っているので、
差分も一応確認しておこう。

Fix #7 Allow Composer 2.0-dev

+    public function deactivate(Composer $composer, IOInterface $io) {}
+
+    public function uninstall(Composer $composer, IOInterface $io) {}
+

(^_^;)・・・定義漏れってこと?

あげちゃうか。

ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪

------------------- ↓ 本題はここから ↓-------------------

単純にcomposer install

インストールをやり直すのでvendorを削除。
プラグイン等を無効にしてインストールをする。

rm -Rf vendor
composer install --no-plugins

composer.lockの更新

kylekatarnls/update-helperをアップデートして、
composer.lockを更新する。

composer update kylekatarnls/update-helper --no-plugins

改めてcomposer install

vendorディレクトリをいったん消して、
改めてcomposer installを実行

rm -Rf vendor
composer install

問題なさそうだ

Discussion