TYPO3 / CmsComposerInstallers

TYPO3 CMS Composer Installer
GNU General Public License v2.0
58 stars 39 forks source link

composer install does not work when replace section does not contain a package without a slash #80

Closed bnf closed 5 years ago

bnf commented 5 years ago

The bug happens when an extension adds it's typo3-ter/ package to replace section in composer.json, without adding "staticfilecache": "self.version",:

            "replace": {
                "typo3-ter/staticfilecache": "self.version"
            },

Then composer install fails with:

PHP Fatal error:  Uncaught TypeError: strpos() expects parameter 1 to be string, integer given in //vendor/typo3/cms-composer-installers/src/Plugin/Util/ExtensionKeyResolver.php:38
Stack trace:
#0 //vendor/typo3/cms-composer-installers/src/Plugin/Util/ExtensionKeyResolver.php(38): strpos(0, '/')
#1 //vendor/typo3/cms-composer-installers/src/Installer/ExtensionInstaller.php(196): TYPO3\CMS\Composer\Plugin\Util\ExtensionKeyResolver::resolve(Object(Composer\Package\AliasPackage))
#2 //vendor/typo3/cms-composer-installers/src/Installer/ExtensionInstaller.php(211): TYPO3\CMS\Composer\Installer\ExtensionInstaller->getInstallPath(Object(Composer\Package\AliasPackage))
#3 phar:///usr/local/Cellar/composer/1.8.4/bin/composer/src/Composer/Installer/InstallationManager.php(147): TYPO3\CMS\Composer\Installer\ExtensionInstaller->ensureBinariesPresence(Object(Composer\Package\AliasPackage))
#4 phar:///usr/local/Cellar/comp in //vendor/typo3/cms-composer-installers/src/Plugin/Util/ExtensionKeyResolver.php on line 38