0

Problem 1
Installing CiviCRM using Composer has started giving these errors:

    - Root composer.json requires civicrm/composer-compile-plugin ^0.14.0 -> satisfiable by civicrm/composer-compile-plugin[v0.14].
    - civicrm/composer-compile-plugin v0.14 requires totten/lurkerlite ^1.3 -> could not be found in any version, there may be a typo in the package name.

Problem 2

    - civicrm/composer-compile-plugin v0.14 requires totten/lurkerlite ^1.3 -> could not be found in any version, there may be a typo in the package name.
    - civicrm/civicrm-core 5.31.1 requires civicrm/composer-compile-lib ~0.3 || ~1.0 -> satisfiable by civicrm/composer-compile-lib[v0.3, v0.4].
    - civicrm/composer-compile-lib[v0.3, ..., v0.4] require civicrm/composer-compile-plugin ~0.9 || ~1.0 -> satisfiable by civicrm/composer-compile-plugin[v0.14].

Does anyone know what has gone wrong?

4
  • That error is also output as a "default" error when composer doesn't know what the problem is. Maybe try running with -v and see if it gives more info? – Demerit Nov 28 '20 at 20:17
  • I tried, and it didn't show anything more. I am deleting the whole directory tree and restoring from backup to see if I get any further.. I am beginning to conclude that the Composer environment is too fragile for a production system - it breaks too easily. Fortunately, I am not working on such a system at the moment. It may just be that I am ignorant about certain aspects of Composer. – Stephen Palmstrom Nov 30 '20 at 10:16
  • Yeah. Composer is definitely not at the top of my list of tools. It's like a phillips screwdriver - it works sometimes but mostly it just strips the screws and makes them unusable. The other screwdrivers are better. – Demerit Nov 30 '20 at 12:44
  • Yeah, for a production system, it's good to have some additional change-tracking (like periodic tarballs or site-repo). Tangentially, I've also raised composer-upgrade-reliability in lab.civicrm.org/dev/drupal/-/issues/142 – Tim Otten Dec 2 '20 at 7:43
0
- civicrm/composer-compile-plugin v0.14 requires totten/lurkerlite ^1.3
   -> could not be found in any version, there may be a typo in the package name.

The error message suggests a typo, which I think is misleading/incorrect. Let me give some counter-indicators -- and then some alternative theories.

The name and version should be correct because:

  • (A1) In the official directory of composer packages (packagist.org), it lists totten/lurkerlite with version 1.3.0 as available. See: https://packagist.org/packages/totten/lurkerlite

  • (A2) If I create a new project with a minimalist composer.json, then it does manage to install totten/lurkerlite.

    mkdir /tmp/abcd
    cd /tmp/abcd
    echo '{}' > composer.json
    composer config minimum-stability dev
    composer require civicrm/civicrm-{core,packages}:5.31.1
    ls vendor/totten/lurkerlite/
    

You may want to try a new/empty project like this yourself. If the new/empty project works, then that points to an issue in the local composer.{json,lock} (like B1/B2/B4). If the new/empty project also fails, then that points to an issue in the upstream or tooling (like B3/B4).

Some alternative theories:

  • (B1) composer.lock may become overly opinionated. Try clearing it even more aggressively:

    mkdir /tmp/old-stuff
    mv composer.lock vendor /tmp/old-stuff
    composer install
    
  • (B2) composer.json may become overly opinionated or have old/redundant constraints. Double-check the current list of recommended packages and then read your local composer.json. See if there are any extra/redundant constraints.

  • (B3) composer has a local cache (e.g. ~/.cache/composer/). This cache could be corrupted/stale (e.g. if there was a network-error or disk-error at the wrong moment). Try clearing it out.

  • (B4) composer can be configured with alternative repositories/feeds. If the configuration disables or supercedes packagist.org, then it might not get a consistent feed. (Most people don't disable packagist -- if you do this, then you should know about it.)

1
  • Thanks for those suggestions. I was running Composer under Windows from PowerShell. Running under Git Bash seems to work better, but I'll bear those suggestions in mind if the problem recurs. – Stephen Palmstrom Dec 3 '20 at 11:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.