4

In laravel 6 project under docker I switched to one of branches and made git pull for updates made by other developer But I got errors by running composer update :

    - joshbrw/laravel-module-installer v1.0.1 requires composer-plugin-api ^2.0 -> no matching package found.
    - joshbrw/laravel-module-installer v1.0.1 requires composer-plugin-api ^2.0 -> no matching package found.
    - joshbrw/laravel-module-installer v1.0.0 requires composer-plugin-api ^2.0 -> no matching package found.
    - Installation request for joshbrw/laravel-module-installer ^1.0 -> satisfiable by joshbrw/laravel-module-installer[v1.0.0, v1.0.1].

Potential causes:
 - A typo in the package name
 - The package is not available in a stable-enough version according to your minimum-stability setting
   see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for more details.
 - It's a private package and you forgot to add a custom repository to find it

Read <https://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.
...

In composer.lock I found

"joshbrw/laravel-module-installer": "^1.0",

and :

"require": {
    "composer-plugin-api": "^2.0",
    "php": "^5.4|7.*"
},

In composer.json I see:

"joshbrw/laravel-module-installer": "^1.0",
  1. I tried to install composer-plugin-api. But I am not sure was it a correct decision ?

    root@f32a029eae89:/app# composer require composer-plugin-api Using version ^1.1 for composer-plugin-api ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 134217736 bytes) in phar:///usr/bin/composer/src/Composer/DependencyResolver/RuleSet.php on line 83

    Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 134217736 bytes) in phar:///usr/bin/composer/src/Composer/DependencyResolver/RuleSet.php on line 83

    Check https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors for more info on how to handle out of memory errors.

I check memory:

root@f32a029eae89:/app# php -r "echo ini_get('memory_limit').PHP_EOL;"
1024M
root@f32a029eae89:/app# free
              total        used        free      shared  buff/cache   available
Mem:        8085248     5249464     1238412      159684     1597372     2372452
Swap:       2104476      905984     1198492
  1. Which is valid format for composer require package command with big value of memmory ?

I check composer in docker console :

root@f32a029eae89:/app# composer --version
Composer version 1.10.13 2020-09-09 11:46:34
0

1 Answer 1

3

joshbrw/laravel-module-installer v1.0.1 requires composer-plugin-api ^2.0 -> no matching package found.

You need composer 2 to install that package, and you are using composer 1.

If you are using the Composer docker image, you just need to add:

FROM composer:2 as composer

to the appropriate dockerfile. If you are downloading it manually, please make sure you download the appropriate version.

Sign up to request clarification or add additional context in comments.

2 Comments

Thanks! Was useful, now want to get in touch with team leader, if we move to composer 2 or that was casual ref to composer 2
You should very likely move to version 2. There is no practical reason to stay on 1, unless you have a specific plugin that cannot be upgraded (but more often than not, it's worth abandoning such a plugin)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.