アンインストールプロセスの一部は、次の場所にありますsetup/src/Magento/Setup/Model/ModuleUninstaller.php
。
public function uninstallCode(OutputInterface $output, array $modules)
{
$output->writeln('<info>Removing code from Magento codebase:</info>');
$packages = [];
/** @var \Magento\Framework\Module\PackageInfo $packageInfo */
$packageInfo = $this->objectManager->get('Magento\Framework\Module\PackageInfoFactory')->create();
foreach ($modules as $module) {
$packages[] = $packageInfo->getPackageName($module);
}
$this->remove->remove($packages);
}
基本的には、削除するパッケージを一覧表示し、composer remove
それらのパッケージに対して次のコマンドを実行しますlib/internal/Magento/Framework/Composer/Remove.php
。
public function remove(array $packages)
{
$composerApplication = $this->composerApplicationFactory->create();
return $composerApplication->runComposerCommand(
[
'command' => 'remove',
'packages' => $packages
]
);
}
あなたは見つけることができるrunComposerCommand
方法をvendor/magento/composer/src/MagentoComposerApplication.php
:
public function runComposerCommand(array $commandParams, $workingDir = null)
{
$this->consoleApplication->resetComposer();
if ($workingDir) {
$commandParams[self::COMPOSER_WORKING_DIR] = $workingDir;
} else {
$commandParams[self::COMPOSER_WORKING_DIR] = dirname($this->composerJson);
}
$input = $this->consoleArrayInputFactory->create($commandParams);
$exitCode = $this->consoleApplication->run($input, $this->consoleOutput);
if ($exitCode) {
throw new \RuntimeException(
sprintf('Command "%s" failed: %s', $commandParams['command'], $this->consoleOutput->fetch())
);
}
return $this->consoleOutput->fetch();
}
私にとって、ここで何かが起こり、それらの関数はデバッグを開始する場所です。
モジュールcomposer.json
ファイルが見つからないか、エラーがある可能性があります。