134

I'm getting the following error in a project I'm setting up:

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.

I've started at a new company this week, just trying to get their projects installed and there doesn't seem to be a way to change my composer version on Windows. I'd rather not update all their packages as I'm not familiar with the projects yet and have no clue what kind of implications go into that.

yivi
  • 42,438
  • 18
  • 116
  • 138
Bash
  • 1,512
  • 2
  • 11
  • 12

7 Answers7

368

Assuming a regular composer installation, to rollback to version 1 of composer, you simply execute:

composer self-update --1

When you want to go back to version 2 (which you should, after updating or removing the incompatible plugins):

composer self-update --2

The above will take you to the latest on any of the two major versions.

You can also "update" to a specific version just by passing the version number to self-update:

composer self-update 1.10.12
composer self-update 2.0.7

After performing any self-update, you can specify --rollback to go back to the previously installed version.

composer self-update
composer self-update --rollback

Finally, if you are feeling adventurous, you can update to a pre-release version by executing:

composer self-update --preview
yivi
  • 42,438
  • 18
  • 116
  • 138
  • 4
    Just want to add, if get permission error like me, then add "sudo" to run the cmd. – zhihong Nov 16 '20 at 16:03
  • Additional info: If you're inside of a version, you can change by using de specific version number. Let's say you're in composer `1.10.17` whats currently latest and want to have e.g. `1.10.1` you can use `composer self-update 1.10.1` this would change it. But changing major version is as described above. – Dwza Nov 18 '20 at 18:19
  • Note that `self-update` is inconsistently intelligent, in that if you specify 2.2, it'll find the latest sub-version but fail to install it, saying "You forced the install of 2.2.18 via --2.2" and "Version "2.2" could not be found" :facepalm:... so, while some might argue it may not be safe for it to install the sub-version it found, I've generally found it OK to do that with other apps when they do it automatically. Also, its other compatibility warnings tend to be on the x.y level, not on the x.y.z level, so I find the inconsistency annoying and a bit cognitively dissonant. – SteveExdia Sep 27 '22 at 16:34
  • `composer self-update --1` or `composer self-update --2` – vintagexav Jul 13 '23 at 14:09
9

If you have already installed composer on your system. then paste the below code to downgrade the composer version with a specific version as per your need.

composer self-update 1.10.14

for ubuntu system use the below command

sudo -H composer self-update 1.10.14
yivi
  • 42,438
  • 18
  • 116
  • 138
6

Just two commands worked for me. Currently I have composer 2.x.x , I had 1.10.x . First one command will download downgrade version and then second command will rollback to 1.x.x

  1. php composer self-update --1
  2. composer self-update --rollback
yivi
  • 42,438
  • 18
  • 116
  • 138
Amir Khan
  • 211
  • 1
  • 4
6

I found a flag in composer installer "--1" and "--2". I'm using this command inside of my Dockerfile:

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --1
Sergiu Savva
  • 61
  • 1
  • 2
1

You can use following code for update to specific versions

composer self-update 1.10.12
composer self-update 2.0.7

or

composer self-update --1 or 2
1

Use phar instead.

Download specific version of composer.phar file from : https://getcomposer.org/download

Place this phar file in your project root directory where you are trying to run composer install/update/require

now instead of composer require use php composer.phar require

bareMetal
  • 425
  • 1
  • 7
  • 20
0

The below command is used to update the specific version of the composer.

composer self-update [version no of composer]
Parvinder Kumar
  • 775
  • 5
  • 8