Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RuntimeException] Files with "phar" extensions aren't supported. #10406

Closed
Bibaschko opened this issue Dec 29, 2021 · 3 comments
Closed

[RuntimeException] Files with "phar" extensions aren't supported. #10406

Bibaschko opened this issue Dec 29, 2021 · 3 comments
Labels
Milestone

Comments

@Bibaschko
Copy link

Bibaschko commented Dec 29, 2021

My composer.json:

{
    "name": "magento/project-community-edition",
    "description": "eCommerce Platform for Growth (Community Edition)",
    "type": "project",
    "license": [
        "OSL-3.0",
        "AFL-3.0"
    ],
    "config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "allow-plugins": {
            "laminas/laminas-dependency-plugin": true,
            "dealerdirect/phpcodesniffer-composer-installer": true,
            "magento/magento-composer-installer": true,
            "magento/inventory-composer-installer": true,
            "magento/composer-dependency-version-audit-plugin": true,
            "magento/composer-root-update-plugin": true
        }
    },
    "version": "2.4.3",
    "require": {
        "dhl/shipping-m2": "^2.2",
        "magefan/module-wysiwyg-advanced": "^2.0",
        "magento/composer-dependency-version-audit-plugin": "~0.1",
        "magento/composer-root-update-plugin": "~1.1",
        "magento/product-community-edition": "2.4.3",
        "splendidinternet/mage2-locale-de-de": "^1.69"
    },
    "autoload": {
        "exclude-from-classmap": [
            "**/dev/**",
            "**/update/**",
            "**/Test/**"
        ],
        "files": [
            "app/etc/NonComposerComponentRegistration.php"
        ],
        "psr-0": {
            "": [
                "app/code/",
                "generated/code/"
            ]
        },
        "psr-4": {
            "Magento\\": "app/code/Magento/",
            "Magento\\Framework\\": "lib/internal/Magento/Framework/",
            "Magento\\Setup\\": "setup/src/Magento/Setup/"
        }
    },
    "require-dev": {
        "allure-framework/allure-phpunit": "~1.4",
        "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
        "friendsofphp/php-cs-fixer": "~2.18.1",
        "lusitanian/oauth": "~0.8.10",
        "magento/magento-coding-standard": "*",
        "magento/magento2-functional-testing-framework": "^3.0",
        "pdepend/pdepend": "~2.7.1",
        "phpcompatibility/php-compatibility": "^9.3",
        "phpmd/phpmd": "^2.8.0",
        "phpstan/phpstan": "^0.12.77",
        "phpunit/phpunit": "^9",
        "sebastian/phpcpd": "^6.0.3",
        "squizlabs/php_codesniffer": "~3.5.4",
        "symfony/finder": "^5.2"
    },
    "conflict": {
        "gene/bluefoot": "*"
    },
    "autoload-dev": {
        "psr-4": {
            "Magento\\PhpStan\\": "dev/tests/static/framework/Magento/PhpStan/",
            "Magento\\Sniffs\\": "dev/tests/static/framework/Magento/Sniffs/",
            "Magento\\TestFramework\\Inspection\\": "dev/tests/static/framework/Magento/TestFramework/Inspection/",
            "Magento\\TestFramework\\Utility\\": "dev/tests/static/framework/Magento/TestFramework/Utility/",
            "Magento\\Tools\\": "dev/tools/Magento/Tools/",
            "Magento\\Tools\\Sanity\\": "dev/build/publication/sanity/Magento/Tools/Sanity/"
        }
    },
    "minimum-stability": "stable",
    "prefer-stable": true,
    "repositories": {
        "gclocal": {
            "type": "artifact",
            "url": "./"
        },
        "0": {
            "type": "composer",
            "url": "https://repo.magento.com/"
        }
    },
    "extra": {
        "magento-force": "override"
    }
}

Output of composer diagnose:

The version field is present, it is recommended to leave it out if the package is published on Packagist.
Defining autoload.psr-0 with an empty namespace prefix is a bad idea for performance
require.magento/product-community-edition : exact version constraints (2.4.3) should be avoided if the package follows semantic versioning
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: OK
Checking github.com rate limit: OK
Checking disk free space: OK
Checking pubkeys:
Tags Public Key Fingerprint: 57815BA2 7E54DC31 7ECC7CC5 573090D0  87719BA6 8F3BB723 4E5D42D0 84A14642
Dev Public Key Fingerprint: 4AC45767 E5EC2265 2F0C1167 CBBB8A2B  0C708369 153E328C AD90147D AFE50952
OK
Checking composer version: OK
Composer version: 2.2.1
PHP version: 7.4.3
PHP binary path: /usr/bin/php7.4
OpenSSL version: OpenSSL 1.1.1f  31 Mar 2020
cURL version: 7.68.0 libz 1.2.11 ssl OpenSSL/1.1.1f
zip: extension present, unzip present, 7-Zip not available

When I run this command:

composer update

I get the following output:

Reading ./composer.json (/var/www/html/magento/composer.json)
Loading config file /root/.config/composer/auth.json
Loading config file ./composer.json (/var/www/html/magento/composer.json)
Checked CA file /etc/pki/tls/certs/ca-bundle.crt does not exist or it is not a file.
Checked directory /etc/pki/tls/certs/ca-bundle.crt does not exist or it is not a directory.
Checked CA file /etc/ssl/certs/ca-certificates.crt: valid
Reading /root/.config/composer/composer.json
Loading config file /root/.config/composer/auth.json
Loading config file /root/.config/composer/composer.json (/root/.config/composer/composer.json)
Loading config file /root/.config/composer/auth.json
Reading /root/.config/composer/auth.json
Reading /var/www/html/magento/vendor/composer/installed.json
Reading /root/.config/composer/vendor/composer/installed.json
Loading plugin Laminas\DependencyPlugin\DependencyRewriterPluginDelegator (from laminas/laminas-dependency-plugin)
Activating Laminas\DependencyPlugin\DependencyRewriterV2
Loading plugin Dealerdirect\Composer\Plugin\Installers\PHPCodeSniffer\Plugin (from dealerdirect/phpcodesniffer-composer-installer)
Loading plugin MagentoHackathon\Composer\Magento\Plugin (from magento/magento-composer-installer)
activate magento plugin
Loading plugin Magento\InventoryComposerInstaller\Plugin (from magento/inventory-composer-installer)
Loading plugin Magento\ComposerDependencyVersionAuditPlugin\Plugin (from magento/composer-dependency-version-audit-plugin)
Loading plugin Magento\ComposerRootUpdatePlugin\Plugin\PluginDefinition (from magento/composer-root-update-plugin)
> pre-command-run: Laminas\DependencyPlugin\DependencyRewriterPluginDelegator->onPreCommandRun
In Laminas\DependencyPlugin\DependencyRewriterV2::onPreCommandRun
> command: MagentoHackathon\Composer\Magento\Plugin->onCommandEvent
> pre-update-cmd: Magento\InventoryComposerInstaller\Plugin->initModuleDeployment
Reading ./composer.lock (/var/www/html/magento/composer.lock)
Loading composer repositories with package information
Failed loading package ./vendor/magento/magento2-base/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/Import/_files/catalog_product.zip: No composer.json found either at the top level or within the topmost directoryFile catalog_product.zip doesn't seem to hold a package
Failed loading package ./vendor/magento/magento2-base/dev/tests/integration/testsuite/Magento/Framework/Backup/_files/var/backups/1474538269_filesystem_code.tgz: No composer.json found either at the top level or within the topmost directoryFile 1474538269_filesystem_code.tgz doesn't seem to hold a package
File interview_with_the_vampire.zip doesn't seem to hold a package
File buffy.zip doesn't seem to hold a package
Found package magento/module-theme-graph-ql (100.4.1) in file tmp-e017a7591c1f738f761e75f46ae9f240.zip


  [RuntimeException]
  Files with "phar" extensions aren't supported. Only ZIP and TAR/TAR.GZ/TGZ archives are supported.


Exception trace:
 () at phar:///usr/local/bin/composer/src/Composer/Repository/ArtifactRepository.php:115
 Composer\Repository\ArtifactRepository->getComposerInformation() at phar:///usr/local/bin/composer/src/Composer/Repository/ArtifactRepository.php:89
 Composer\Repository\ArtifactRepository->scanDirectory() at phar:///usr/local/bin/composer/src/Composer/Repository/ArtifactRepository.php:68
 Composer\Repository\ArtifactRepository->initialize() at phar:///usr/local/bin/composer/src/Composer/Repository/ArrayRepository.php:310
 Composer\Repository\ArrayRepository->getPackages() at phar:///usr/local/bin/composer/src/Composer/Repository/ArrayRepository.php:62
 Composer\Repository\ArrayRepository->loadPackages() at phar:///usr/local/bin/composer/src/Composer/DependencyResolver/PoolBuilder.php:379
 Composer\DependencyResolver\PoolBuilder->loadPackagesMarkedForLoading() at phar:///usr/local/bin/composer/src/Composer/DependencyResolver/PoolBuilder.php:234
 Composer\DependencyResolver\PoolBuilder->buildPool() at phar:///usr/local/bin/composer/src/Composer/Repository/RepositorySet.php:261
 Composer\Repository\RepositorySet->createPool() at phar:///usr/local/bin/composer/src/Composer/Installer.php:435
 Composer\Installer->doUpdate() at phar:///usr/local/bin/composer/src/Composer/Installer.php:279
 Composer\Installer->run() at phar:///usr/local/bin/composer/src/Composer/Command/UpdateCommand.php:248
 Composer\Command\UpdateCommand->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:335
 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:130
 Composer\Console\Application->run() at phar:///usr/local/bin/composer/bin/composer:73
 require() at /usr/local/bin/composer:29

And I expected this to happen:

@Seldaek Seldaek added this to the 2.2 milestone Dec 29, 2021
@Seldaek Seldaek added the Bug label Dec 29, 2021
@Seldaek
Copy link
Member

Seldaek commented Dec 29, 2021

Looks like ArtifactRepository indeed scans for phar files but then fails if it encounters one. Not sure if it should simply ignore them or if it can easily be supported as a zip file.

@Seldaek Seldaek mentioned this issue Jan 3, 2022
@dereuromark
Copy link
Contributor

We seem to have similar build fails now with 2.2 and had to lock it down to 2.1 for now:

> vendor/bin/psalm.phar --show-info=false
Target PHP version: 7.4 (inferred from composer.json)
Scanning files...
Analyzing files...
░
ERROR: MissingFile - vendor/bin/psalm.phar:92:9 - Cannot find file composer-bin-proxy:/home/travis/build/spryker/suite-nonsplit/vendor/psalm/phar/psalm.phar to include (see https://psalm.dev/107)
        include("composer-bin-proxy://" . __DIR__ . '/..'.'/psalm/phar/psalm.phar');
------------------------------
1 errors found
------------------------------
Checks took 123.51 seconds and used 4,392.437MB of memory
Psalm was unable to infer types in the codebase
Script vendor/bin/psalm.phar --show-info=false handling the psalm event returned with error code 2
The command "composer psalm" exited with 2.

@Seldaek
Copy link
Member

Seldaek commented Jan 6, 2022

@dereuromark this is an unrelated issue, see #10407 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants