throws exception
svycka opened this issue · comments
Bug Report
Q | A |
---|---|
Version(s) | 2.0.0beta1 |
Summary
composer check throws LogicException
Current behavior
composer check -vvv
Reading ./composer.json
Loading config file ./composer.json
Checked CA file /etc/ssl/certs/ca-certificates.crt: valid
Executing command (/var/www/html): git branch -a --no-color --no-abbrev -v
Executing command (/var/www/html): git rev-list master..feature-FB-213/composer-2.0
Failed to initialize global composer: Composer could not find the config file: /root/.composer/composer.json
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section
Reading /var/www/html/vendor/composer/installed.json
Loading plugin PackageVersions\Installer
Loading plugin Laminas\ComponentInstaller\ComponentInstaller
Loading plugin Laminas\DependencyPlugin\DependencyRewriterPluginDelegator
Activating Laminas\DependencyPlugin\DependencyRewriterV2
Running 2.0.2 (2020-10-25 23:03:59) with PHP 7.4.11 on Linux / 5.4.0-47-generic
> pre-command-run: Laminas\DependencyPlugin\DependencyRewriterPluginDelegator->onPreCommandRun
In Laminas\DependencyPlugin\DependencyRewriterV2::onPreCommandRun
[LogicException]
A package can only be added to one repository
Exception trace:
() at phar:///usr/local/bin/composer/src/Composer/Package/BasePackage.php:136
Composer\Package\BasePackage->setRepository() at phar:///usr/local/bin/composer/src/Composer/Repository/ArrayRepository.php:194
Composer\Repository\ArrayRepository->addPackage() at phar:///usr/local/bin/composer/src/Composer/Repository/ArrayRepository.php:41
Composer\Repository\ArrayRepository->__construct() at phar:///usr/local/bin/composer/src/Composer/Repository/RootPackageRepository.php:28
Composer\Repository\RootPackageRepository->__construct() at phar:///usr/local/bin/composer/src/Composer/Command/CheckPlatformReqsCommand.php:65
Composer\Command\CheckPlatformReqsCommand->execute() at phar:///usr/local/bin/composer/vendor/symfony/console/Command/Command.php:245
Symfony\Component\Console\Command\Command->run() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:835
Symfony\Component\Console\Application->doRunCommand() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:185
Symfony\Component\Console\Application->doRun() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:309
Composer\Console\Application->doRun() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:117
Symfony\Component\Console\Application->run() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:121
Composer\Console\Application->run() at phar:///usr/local/bin/composer/bin/composer:63
require() at /usr/local/bin/composer:24
check-platform-reqs [--no-dev]
or
composer why laminas/laminas-dependency-plugin -vvv
Reading ./composer.json
Loading config file ./composer.json
Checked CA file /etc/ssl/certs/ca-certificates.crt: valid
Executing command (/var/www/html): git branch -a --no-color --no-abbrev -v
Executing command (/var/www/html): git rev-list master..feature-FB-213/composer-2.0
Failed to initialize global composer: Composer could not find the config file: /root/.composer/composer.json
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section
Reading /var/www/html/vendor/composer/installed.json
Loading plugin PackageVersions\Installer
Loading plugin Laminas\ComponentInstaller\ComponentInstaller
Loading plugin Laminas\DependencyPlugin\DependencyRewriterPluginDelegator
Activating Laminas\DependencyPlugin\DependencyRewriterV2
Running 2.0.2 (2020-10-25 23:03:59) with PHP 7.4.11 on Linux / 5.4.0-47-generic
> pre-command-run: Laminas\DependencyPlugin\DependencyRewriterPluginDelegator->onPreCommandRun
In Laminas\DependencyPlugin\DependencyRewriterV2::onPreCommandRun
[LogicException]
A package can only be added to one repository
Exception trace:
() at phar:///usr/local/bin/composer/src/Composer/Package/BasePackage.php:136
Composer\Package\BasePackage->setRepository() at phar:///usr/local/bin/composer/src/Composer/Repository/ArrayRepository.php:194
Composer\Repository\ArrayRepository->addPackage() at phar:///usr/local/bin/composer/src/Composer/Repository/ArrayRepository.php:41
Composer\Repository\ArrayRepository->__construct() at phar:///usr/local/bin/composer/src/Composer/Repository/RootPackageRepository.php:28
Composer\Repository\RootPackageRepository->__construct() at phar:///usr/local/bin/composer/src/Composer/Command/BaseDependencyCommand.php:77
Composer\Command\BaseDependencyCommand->doExecute() at phar:///usr/local/bin/composer/src/Composer/Command/DependsCommand.php:55
Composer\Command\DependsCommand->execute() at phar:///usr/local/bin/composer/vendor/symfony/console/Command/Command.php:245
Symfony\Component\Console\Command\Command->run() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:835
Symfony\Component\Console\Application->doRunCommand() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:185
Symfony\Component\Console\Application->doRun() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:309
Composer\Console\Application->doRun() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:117
Symfony\Component\Console\Application->run() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:121
Composer\Console\Application->run() at phar:///usr/local/bin/composer/bin/composer:63
require() at /usr/local/bin/composer:24
depends [-r|--recursive] [-t|--tree] [--] <package> [<constraint>]
I am not sure it is a composer
bug or laminas-dependency-plugin
Same for me. I tried using it in a laminas-mvc
application.
Additionally , when trying a composer update
with composer 1, I get an AssertionError
:
PHP Fatal error: Uncaught AssertionError: assert($rewriter instanceof DependencySolvingCapableInterface) in [path-to-project]/vendor/laminas/laminas-dependency-plugin/src/DependencyRewriterPluginDelegator.php:68
Stack trace:
#0 [path-to-project]/vendor/laminas/laminas-dependency-plugin/src/DependencyRewriterPluginDelegator.php(68): assert(false, 'assert($rewrite...')
#1 [internal function]: Laminas\DependencyPlugin\DependencyRewriterPluginDelegator->onPreDependenciesSolving(Object(Composer\Installer\InstallerEvent))
#2 phar:///usr/local/bin/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php(164): call_user_func(Array, Object(Composer\Installer\InstallerEvent))
#3 phar:///usr/local/bin/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php(135): Composer\EventDispatcher\EventDispatcher->doDispatch(Object(Composer\Installer\InstallerEvent))
#4 phar:///usr/local/bin/composer.phar/src/Composer/Installer.php(486): Composer\EventDispatcher\EventDispatcher->dispatchInstallerEvent('pre- in [path-to-project]/vendor/laminas/laminas-dependency-plugin/src/DependencyRewriterPluginDelegator.php on line 68
it's strange but maybe laminas/laminas-component-installer
is the cause of this. when removing laminas/laminas-dependency-plugin
still throws but when I remove laminas/laminas-component-installer
error gone.
maybe move the issue to laminas/laminas-component-installer
?
okay works with laminas/laminas-component-installer
<= 2.3.0 and does not work with 2.3.1 so definitely laminas/laminas-component-installer
problem I think 🤔
okay works with
laminas/laminas-component-installer
<= 2.3.0 and does not work with 2.3.1 so definitelylaminas/laminas-component-installer
problem I think 🤔
Thanks for investigating! Do you open an issue in the laminas-component-installer
package?