Composer 2, which some of your plugins seem to be incompatible with - magento

I tried to install extension from the magento market place but I got incompatibility error..
Problem 1
magento/composer-root-update-plugin is locked to version 1.0.0 and an update of this package was not requested.
magento/composer-root-update-plugin 1.0.0 requires composer-plugin-api ^1.0 -> found composer-plugin-api[2.0.0] but it does not match the constraint.
Problem 2
dealerdirect/phpcodesniffer-composer-installer is locked to version v0.5.0 and an update of this package was not requested.
dealerdirect/phpcodesniffer-composer-installer v0.5.0 requires composer-plugin-api ^1.0 -> found composer-plugin-api[2.0.0] but it does not match the constraint.
Problem 3
laminas/laminas-dependency-plugin 1.0.4 requires composer-plugin-api ^1.1 -> found composer-plugin-api[2.0.0] but it does not match the constraint.
magento/product-community-edition 2.4.1 requires laminas/laminas-dependency-plugin ^1.0 -> satisfiable by laminas/laminas-dependency-plugin[1.0.4].
magento/product-community-edition is locked to version 2.4.1 and an update of this package was not requested.
You are using Composer 2, which some of your plugins seem to be incompatible with. Make sure you update your plugins or report a plugin-issue to ask them to support Composer 2.
how do I resolve this?

You can downgrade your Composer to version 1.x
composer self-update --1
And if you need to switch back to Composer version 2.x, you can just type
composer self-update --2

Magento 2.x is not yet compatible with composer 2.x
You can either:
downgrade your system version of Composer to 1.x
download composer 1.x phar file and run local version (preferable)
https://getcomposer.org/download/
Current version is 1.10.19
then run the command using the local composer version:
php ./composer.phar install

Magento does not support Composer 2.x. please ref the link:https://devdocs.magento.com/guides/v2.4/install-gde/system-requirements.html may help you

Related

composer install Doctrine/DBAL fails in Laravel 9 with PHP 8.2

I got an error when trying to install doctrine/dbal in order to add timestamp type according to laravel doc in order to allow changing timestamp column in migration.
Here is the message
composer require doctrine/dbal
Using version ^3.6 for doctrine/dbal
./composer.json has been updated
Running composer update doctrine/dbal
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- nette/schema v1.2.2 requires php >=7.1 <8.2 -> your php version (8.2.2) does not satisfy that requirement.
- league/commonmark 2.3.5 requires league/config ^1.1.1 -> satisfiable by league/config[v1.1.1].
- laravel/framework v9.30.0 requires league/commonmark ^2.2 -> satisfiable by league/commonmark[2.3.5].
- league/config v1.1.1 requires nette/schema ^1.2 -> satisfiable by nette/schema[v1.2.2].
- laravel/framework is locked to version v9.30.0 and an update of this package was not requested.
How can I deal with that ? Installing nette/schema before ?
It's saying that a depency cannot be updated / installed with your PHP version. Pay special atention to this line:
- nette/schema v1.2.2 requires php >=7.1 <8.2 -> your php version (8.2.2) does not satisfy that requirement.
You have to check another nette/schema version that support PHP version 8.2.2 (your version) or downgrade PHP

I install the flutterwave package in laravel 8 and 9 but facing this issue

i run this command
composer install flutterwavedev/flutterwave-v3
give me this error.
Invalid argument flutterwavedev/flutterwave-v3. Use "composer require flutterwavedev/flutterwave-v3" instead to add packages to your composer.json.
when we run this command "composer require flutterwavedev/flutterwave-v3".
Your requirements could not be resolved to an installable set of packages.
Problem 1
- flutterwavedev/flutterwave-v3 1.0.0 requires monolog/monolog 1.* -> found monolog/monolog[1.0.0-RC1, ..., 1.x-dev] but the package is fixed to 2.6.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
- flutterwavedev/flutterwave-v3 1.0.1 requires vlucas/phpdotenv ^2.5 -> found vlucas/phpdotenv[v2.5.0, ..., 2.6.x-dev] but the package is fixed to v5.4.1 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
- Root composer.json requires flutterwavedev/flutterwave-v3 ^1.0 -> satisfiable by flutterwavedev/flutterwave-v3[1.0.0, 1.0.1].
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
You can also try re-running composer require with an explicit version constraint, e.g. "composer require flutterwavedev/flutterwave-v3:*" to figure out if any version is installable, or "composer require flutterwavedev/flutterwave-v3:^2.1" if you know which you need.
Installation failed, reverting ./composer.json and ./composer.lock to their original content.
I think currently flutter wave isn't compatible with Laravel 9 yet.

Why is Composer installing an old version when it isn't specified?

When I do:
composer require deployer/deployer
I get the following output:
Info from https://repo.packagist.org: #StandWithUkraine
Using version ^4.3 for deployer/deployer
./composer.json has been updated
Running composer update deployer/deployer
Loading composer repositories with package information
Info from https://repo.packagist.org: #StandWithUkraine
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- deployer/deployer[v4.3.0, ..., 4.x-dev] require monolog/monolog ^1.21 -> found monolog/monolog[1.21
.0, ..., 1.x-dev] but the package is fixed to 2.3.5 (lock file version) by a partial update and that vers
ion does not match. Make sure you list it as an argument for the update command.
- Root composer.json requires deployer/deployer ^4.3 -> satisfiable by deployer/deployer[v4.3.0, ...,
4.x-dev].
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
Installation failed, reverting ./composer.json and ./composer.lock to their original content.
deployer/deployer is not in the project's composer.json or composer.lock, so what could possibly be requring the relatively ancient version of the package that doesn't seem to be supported by any other package in my Laravel 8 project?
Since you're using PHP 8, 4.3 is the latest version of deployer/deployer that composer has determined to be compatible with your PHP version and minimum stability requirement.
v7 has no stable release yet, but it is the version you need to use with PHP 8.
You can use the release candidate with composer require deployer/deployer:^7.0#RC, or if you set "minimum-stability": "RC" in your composer.json, then composer require deployer/deployer should install it.
v6 requires "php": "^7.2".
I believe this is equivalent to >=7.2 <8.0.0, according to the composer manual.
v5 requires "php": "~7.0" (meaning >=7.0 <8.0)
v4 requires "php": ">=5.6.0" (meaning anything above 5.6.0)
This old version is the one you're getting because it's the only version composer can attempt to install due to the constraints I mentioned above. I don't know if it really is compatible with PHP 8, but I doubt it.

Why haven't install predis on laravel 8

According laravel manual https://laravel.com/docs/8.x/redis for install predis, need run: composer require predis/predis. When that command is running (for laravel 8) - appear next Error:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- facade/ignition is locked to version 2.4.2 and an update of this package was not requested.
- facade/ignition 2.4.2 requires php ^7.2.5 -> your php version (8.0.0) does not satisfy that requirement.
Problem 2
- facade/ignition-contracts 1.0.1 requires php ^7.1 -> your php version (8.0.0) does not satisfy that requirement.
- nunomaduro/collision v4.3.0 requires facade/ignition-contracts ^1.0 -> satisfiable by facade/ignition-contracts[1.0.1].
- nunomaduro/collision is locked to version v4.3.0 and an update of this package was not requested.
In my composer.json: "php": "^7.2.5|^8.0",
What here is wrong))?
You need to update facade/ignition and nunomaduro/collision first to support PHP 8 in your project.
Running the following commands should update them accordingly.
composer require --dev facade/ignition nunomaduro/collision
composer require predis/predis
i run comand: composer require --dev facade/ignition nunomaduro/collision and have got new Error: Your requirements could not be resolved to an installable set of packages.
Problem 1
- facade/ignition[2.10.0, ..., 2.10.2] require facade/ignition-contracts ^1.0.2 -> found facade/ignition-contracts[1.0.2] but the package is fixed to 1.0.1 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
- Root composer.json requires facade/ignition ^2.10 -> satisfiable by facade/ignition[2.10.0, 2.10.1, 2.10.2].
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
Installation failed, reverting ./composer.json and ./composer.lock to their original content.
I have new laravel 8 project (blog) && use new Vagrant Homestead (with all updates) && i use laravel 8 manual)) may be laravel developers is a little busy and is a little tired to give full instruction in manual). I think may be for Laravel8 Homestead allready is not suitable and need Docker and Sail... But project work (with the exception of predis) Now i use phpredis. May be will try use docker... As for Vagrant&&Homestead - https://laravel.com/docs/8.x/homestead#introduction i don't understand what is problem to use that technology .... god with they)...

Error while 'composer require jenssegers/mongodb' adding MongoDB to new Laravel 7 Project

After fresh installation of laravel 7 project,
C:\xampp\htdocs\blog>composer require jenssegers/mongodb --ignore-platform-reqs
But this is giving an error.
Your requirements could not be resolved to an installable set of packages.
Problem 1
- jenssegers/mongodb[v3.8.0, ..., v3.8.2] require illuminate/support ^8.0 -> found illuminate/support[v8.0.0, ..., 8.x-dev] but these were not loaded, likely because it conflicts with another require.
- Root composer.json requires jenssegers/mongodb ^3.8 -> satisfiable by jenssegers/mongodb[v3.8.0, v3.8.1, v3.8.2].
Also unintalled old composer and installed latest version of it. But still the same issue
Got the issue: Need to check the laravel version compatibility with jenssegers/Laravel-MongoDB. You can check it here:
https://github.com/jenssegers/Laravel-MongoDB#laravel-version-compatibility
Laravel version Compatibility
Laravel Package
4.2.x 2.0.x
5.0.x 2.1.x
5.1.x 2.2.x or 3.0.x
5.2.x 2.3.x or 3.0.x
5.3.x 3.1.x or 3.2.x
5.4.x 3.2.x
5.5.x 3.3.x
5.6.x 3.4.x
5.7.x 3.4.x
5.8.x 3.5.x
6.x 3.6.x
7.x 3.7.x
8.x 3.8.x
And in cmd i Did like this:
C:\xampp\htdocs\blog> composer require jenssegers/mongodb 3.7
Hope this helps anyone with the same issue
For Laravel 8
composer require jenssegers/mongodb:^3.8 --ignore-platform-reqs
In Laravel 8 it worked like this:
composer require jenssegers/mongodb 3.8.x
the ".x" is important, otherwise it marks the same error in MacOs.

Resources