fxpio / composer-asset-plugin

NPM/Bower Dependency Manager for Composer
MIT License
893 stars 156 forks source link

Composer Error due to invalid require formatting #271

Closed GregorVoelkl closed 7 years ago

GregorVoelkl commented 7 years ago

I stumbled upon an issue with invalid formatting of requirements.

For example:

bower-asset/fullcalendar-scheduler: "dependencies": { "jquery": "2 - 3", ... },

The "jquery": "2 - 3", is 'translated' to: bower-asset/jquery"=> ">=~2,<4.0"

Where the expression ">=~2" results in a composer error. I think ">=2.0" should be used instead.

However I do not ultimately know if this is a bug in your library or a bug from composer.

I'll include a composer verbose output:

Exception trace:
 () at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/composer/semver/src/VersionParser.php:485
 Composer\Semver\VersionParser->parseConstraint() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/composer/semver/src/VersionParser.php:244
 Composer\Semver\VersionParser->parseConstraints() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Package/Version/VersionParser.php:27
 Composer\Package\Version\VersionParser->parseConstraints() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Package/Loader/ArrayLoader.php:241
 Composer\Package\Loader\ArrayLoader->parseLinks() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Package/Loader/ArrayLoader.php:124
 Composer\Package\Loader\ArrayLoader->load() at C:\Users\Gregor\AppData\Roaming\Composer\vendor\fxp\composer-asset-plugin\Repository\AssetVcsRepository.php:174
 Fxp\Composer\AssetPlugin\Repository\AssetVcsRepository->preInitBranchPackage() at C:\Users\Gregor\AppData\Roaming\Composer\vendor\fxp\composer-asset-plugin\Repository\AssetVcsRepository.php:138
 Fxp\Composer\AssetPlugin\Repository\AssetVcsRepository->initBranches() at C:\Users\Gregor\AppData\Roaming\Composer\vendor\fxp\composer-asset-plugin\Repository\AssetVcsRepository.php:45
 Fxp\Composer\AssetPlugin\Repository\AssetVcsRepository->initialize() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Repository/ArrayRepository.php:185
 Composer\Repository\ArrayRepository->getPackages() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/DependencyResolver/Pool.php:104
 Composer\DependencyResolver\Pool->addRepository() at C:\Users\Gregor\AppData\Roaming\Composer\vendor\fxp\composer-asset-plugin\Repository\Util.php:61
 Fxp\Composer\AssetPlugin\Repository\Util::addRepositoryInstance() at C:\Users\Gregor\AppData\Roaming\Composer\vendor\fxp\composer-asset-plugin\Repository\Util.php:40
 Fxp\Composer\AssetPlugin\Repository\Util::addRepository() at C:\Users\Gregor\AppData\Roaming\Composer\vendor\fxp\composer-asset-plugin\Repository\AbstractAssetsRepository.php:140
 Fxp\Composer\AssetPlugin\Repository\AbstractAssetsRepository->whatProvides() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/DependencyResolver/Pool.php:204
 Composer\DependencyResolver\Pool->computeWhatProvides() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/DependencyResolver/Pool.php:193
 Composer\DependencyResolver\Pool->whatProvides() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/DependencyResolver/RuleSetGenerator.php:271
 Composer\DependencyResolver\RuleSetGenerator->whitelistFromJobs() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/DependencyResolver/RuleSetGenerator.php:324
 Composer\DependencyResolver\RuleSetGenerator->getRulesFor() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/DependencyResolver/Solver.php:214
 Composer\DependencyResolver\Solver->solve() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Installer.php:472
 Composer\Installer->doInstall() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Installer.php:223
 Composer\Installer->run() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Command/UpdateCommand.php:158
 Composer\Command\UpdateCommand->execute() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/symfony/console/Command/Command.php:257
 Symfony\Component\Console\Command\Command->run() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/symfony/console/Application.php:850
 Symfony\Component\Console\Application->doRunCommand() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/symfony/console/Application.php:193
 Symfony\Component\Console\Application->doRun() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Console/Application.php:227
 Composer\Console\Application->doRun() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/symfony/console/Application.php:124
 Symfony\Component\Console\Application->run() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Console/Application.php:100
 Composer\Console\Application->run() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/bin/composer:54
 require() at C:\ProgramData\ComposerSetup\bin\composer.phar:24
francoispluchino commented 7 years ago

It's fixed in the 1.3.0@dev version of this plugin (see 623fe6b9bb28fa23b64efc208d53d6d3fcf84170).