Fabrizio Piminchumo
Fabrizio Piminchumo

Reputation: 147

Heroku detects composer 1 when I am using composer 2

When trying to deploy in Heroku it returns the following error:

 !     The following is the full output from the installation attempt:
 !     
 !     > You are using Composer 1 which is deprecated. You should upgrade to Composer 2, see https://blog.packagist.com/deprecating-composer-1-support/
 !     > Loading repositories with available runtimes and extensions
 !     > Updating dependencies
 !     > Your requirements could not be resolved to an installable set of packages.
 !     > 
 !     >   Problem 1
 !     >     - The requested package composer-plugin-api could not be found in any version, there may be a typo in the package name.
 !     > 

There is not much information on how to fix this. How else should I specify that composer 2 is being used? Everything was installed from composer 2.

composer.json

{
    "autoload": {
        "psr-4": {
            "App\\": "app/"
        },
        "files": [
            "App/helpers.php"
        ]
    },
    "require": {
        "vlucas/phpdotenv": "^5.4",
        "abraham/twitteroauth": "^3.2",
        "jenssegers/blade": "^1.4",
        "bramus/router": "^1.6",
        "nesbot/carbon": "^2.55",
        "phpfastcache/phpfastcache": "*",
        "php": ">=8.0"
    }
}

composer --version

Composer version 2.2.1 2021-12-22 22:21:31

Upvotes: 2

Views: 9913

Answers (1)

Fabrizio Piminchumo
Fabrizio Piminchumo

Reputation: 147

The problem was the exact composer version, heroku works with composer version 2.1.14 (https://devcenter.heroku.com/articles/php-support#installation-of-dependencies) and my composer was 2.2.1 .

I fixed it with the following:

Remove composer.lock & vendor

composer self-update 2.1.14
composer install

Upvotes: 7

Related Questions