diff --git a/src/ComponentInstaller.php b/src/ComponentInstaller.php index 7c348da..3ad4dfa 100644 --- a/src/ComponentInstaller.php +++ b/src/ComponentInstaller.php @@ -156,7 +156,9 @@ public function activate(Composer $composer, IOInterface $io) $this->composer = $composer; $this->io = $io; $this->cachedInjectors = []; - $this->packageProviderFactory = PackageProviderDetectionFactory::create($composer); + $this->packageProviderFactory = function () { + return PackageProviderDetectionFactory::create($this->composer); + }; } /** @@ -219,6 +221,10 @@ public function onPostPackageInstall(PackageEvent $event) return; } + $this->packageProviderFactory = is_callable($this->packageProviderFactory) + ? ($this->packageProviderFactory)() + : $this->packageProviderFactory; + $packageProviderDetection = $this->packageProviderFactory->detect($event, $name); $requireDev = $this->isADevDependency($packageProviderDetection, $package); $dependencies = $this->loadModuleClassesDependencies($package);