From f23cdf59e3ef6753bf36946f87803dd319ade955 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Mon, 10 Oct 2016 18:45:33 +0200 Subject: [PATCH] Make remove command case insensitive, fixes #5754 --- src/Composer/Command/RemoveCommand.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/Composer/Command/RemoveCommand.php b/src/Composer/Command/RemoveCommand.php index fe3514193..9813df790 100644 --- a/src/Composer/Command/RemoveCommand.php +++ b/src/Composer/Command/RemoveCommand.php @@ -61,6 +61,7 @@ EOT protected function execute(InputInterface $input, OutputInterface $output) { $packages = $input->getArgument('packages'); + $packages = array_map('strtolower', $packages); $file = Factory::getComposerFile(); @@ -78,6 +79,15 @@ EOT $io->writeError('You are using the deprecated option "update-with-dependencies". This is now default behaviour. The --no-update-with-dependencies option can be used to remove a package without its dependencies.'); } + // make sure name checks are done case insensitively + foreach (array('require', 'require-dev') as $linkType) { + if (isset($composer[$linkType])) { + foreach ($composer[$linkType] as $name => $version) { + $composer[$linkType][strtolower($name)] = $version; + } + } + } + foreach ($packages as $package) { if (isset($composer[$type][$package])) { $json->removeLink($type, $package);