fxpio / composer-asset-plugin

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

Fatal Error #230

Closed davidvanlaatum closed 8 years ago

davidvanlaatum commented 8 years ago

fxp/composer-asset-plugin v1.1.4

[vagrant@web1 code]$ php composer --version --no-plugins You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug Composer version 1.2-dev (894b53c115fef68e8684b196dc68632016eb5783) 2016-06-21 15:03:13

[vagrant@web1 code]$ php composer install

Fatal error: Declaration of Fxp\Composer\AssetPlugin\Repository\AbstractAssetsRepository::search() must be compatible with Composer\Repository\RepositoryInterface::search($query, $mode = 0, $type = NULL) in /code/vendor/fxp/composer-asset-plugin/Repository/AbstractAssetsRepository.php on line 334

Call Stack: 0.0004 224896 1. {main}() /code/composer:0 0.0217 434512 2. require('phar:///code/composer/bin/composer') /code/composer:25 0.0769 4394784 3. Composer\Console\Application->run() phar:///code/composer/bin/composer:43 0.0842 4789672 4. Symfony\Component\Console\Application->run() phar:///code/composer/src/Composer/Console/Application.php:103 0.0863 4927088 5. Composer\Console\Application->doRun() phar:///code/composer/vendor/symfony/console/Application.php:123 0.0893 5098080 6. Composer\Console\Application->getPluginCommands() phar:///code/composer/src/Composer/Console/Application.php:132 0.0893 5098552 7. Composer\Console\Application->getComposer() phar:///code/composer/src/Composer/Console/Application.php:423 0.0893 5098632 8. Composer\Factory::create() phar:///code/composer/src/Composer/Console/Application.php:311 0.0893 5099872 9. Composer\Factory->createComposer() phar:///code/composer/src/Composer/Factory.php:554 0.2547 10122528 10. Composer\Plugin\PluginManager->loadInstalledPlugins() phar:///code/composer/src/Composer/Factory.php:363 0.2547 10122744 11. Composer\Plugin\PluginManager->loadRepository() phar:///code/composer/src/Composer/Plugin/PluginManager.php:76 1.2550 12203424 12. Composer\Plugin\PluginManager->registerPackage() phar:///code/composer/src/Composer/Plugin/PluginManager.php:256 2.1723 12699368 13. Composer\Plugin\PluginManager->addPlugin() phar:///code/composer/src/Composer/Plugin/PluginManager.php:204 2.1723 12699944 14. Fxp\Composer\AssetPlugin\FxpAssetPlugin->activate() phar:///code/composer/src/Composer/Plugin/PluginManager.php:231 2.2731 13131608 15. Fxp\Composer\AssetPlugin\Util\AssetPlugin::addRegistryRepositories() /code/vendor/fxp/composer-asset-plugin/FxpAssetPlugin.php:94 2.2749 13149776 16. Composer\Repository\RepositoryManager->createRepository() /code/vendor/fxp/composer-asset-plugin/Util/AssetPlugin.php:88 2.2749 13150088 17. ReflectionMethod->__construct() phar:///code/composer/src/Composer/Repository/RepositoryManager.php:127 2.2749 13150432 18. spl_autoload_call() phar:///code/composer/src/Composer/Repository/RepositoryManager.php:127 2.2749 13150888 19. Composer\Autoload\ClassLoader->loadClass() phar:///code/composer/src/Composer/Repository/RepositoryManager.php:127 2.2753 13151024 20. Composer\Autoload\includeFile() phar:///code/composer/vendor/composer/ClassLoader.php:301 2.2779 13186320 21. include('/code/vendor/fxp/composer-asset-plugin/Repository/NpmRepository.php') phar:///code/composer/vendor/composer/ClassLoader.php:412 2.2779 13186680 22. spl_autoload_call() phar:///code/composer/vendor/composer/ClassLoader.php:26 2.2779 13187224 23. Composer\Autoload\ClassLoader->loadClass() phar:///code/composer/vendor/composer/ClassLoader.php:26 2.2783 13187368 24. Composer\Autoload\includeFile() phar:///code/composer/vendor/composer/ClassLoader.php:301

francoispluchino commented 8 years ago

Try with the dev version of this plugin (1.2.x-dev).

davidvanlaatum commented 8 years ago

After logging this I realized the install procedure for composer has changed and updated the automated process so it's no longer installs the composer dev version. So if the dev version works go ahead and close

amnah commented 8 years ago

I'm getting same issue. Also using the same composer version

$ composer -V
Composer version 1.2-dev (894b53c115fef68e8684b196dc68632016eb5783) 2016-06-21 15:03:13

None of the fxp/composer-asset-plugin versions work, all give the same error

$ composer global require fxp/composer-asset-plugin --prefer-dist
$ composer global require fxp/composer-asset-plugin:dev-master --prefer-dist
$ composer global require fxp/composer-asset-plugin:1.2.x-dev --prefer-dist

Fatal error: Declaration of Fxp\Composer\AssetPlugin\Repository\AbstractAssetsRepository::search() must be compatible with Composer\Repository\RepositoryInterface::search($query, $mode = 0, $type = NULL) in /code/vendor/fxp/composer-asset-plugin/Repository/AbstractAssetsRepository.php on line 334
francoispluchino commented 8 years ago

Ok, Composer has changed again this tonight (see composer/composer@https://github.com/composer/composer/commit/6a557e45b8295007db61e786736f04018fe5fe90)

sartor commented 8 years ago

Have same issue. Appeared just today

francoispluchino commented 8 years ago

@Sartor See my previous comment.

cebe commented 8 years ago

@davidvanlaatum you are using the dev version of composer, which breaks this. the stable should still work as far as I see.

davidvanlaatum commented 8 years ago

Correct as I said before I fixed our process so it doesn't use a Dev version of composer to fix for us

francoispluchino commented 8 years ago

Fixed by 7e02fa0bf0c869987ea512b7c610cb39c83da914.

cebe commented 8 years ago

@francoispluchino make sure to watch https://github.com/composer/composer/issues/5458 as composer signature may be changed again to fix the break.

francoispluchino commented 8 years ago

@cebe It may still change, and all plugins will follow... There is no alternative.

schmunk42 commented 8 years ago

Related question: Can a plugin require a composer version constraint?

francoispluchino commented 8 years ago

Natively? No. However, the plugin can manually test version of Composer into the initialization the plugin, and thrown an exception.

francoispluchino commented 8 years ago

You can only add a constraint on the API version of Composer. But that does not prevent this problem.

xilwal commented 6 years ago

You can temporarily disable composer plugins with the --no-plugins option:

composer global remove fxp/composer-asset-plugin --no-plugins See Composer docs - Global options:

--no-plugins: Disables plugins.

schmunk42 commented 6 years ago

You can also use FXP_ASSET__ENABLE=0 composer ...