fourkitchens / fire

FIRE is a commands standardization tool
0 stars 0 forks source link

Fundamental issue with how to use FIRE #54

Open dalin- opened 1 month ago

dalin- commented 1 month ago

A well-maintained project will specify the proper version of PHP in composer.json:

"require": {
  "php": "~8.3"
}

There's many reasons for this, including: If you run composer install with different PHP versions

If you run composer install on a project and you're running the wrong version of PHP, you'll get a cryptic error. Something about how your php version does not satisfy requirements.

e.g.

  Problem 1
    - ezyang/htmlpurifier is locked to version v4.16.0 and an update of this package was not requested.
    - ezyang/htmlpurifier v4.16.0 requires php ~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 -> your php version (8.3.7) does not satisfy that requirement.
  Problem 2
    - laminas/laminas-text is locked to version 2.10.0 and an update of this package was not requested.
    - laminas/laminas-text 2.10.0 requires php ~8.0.0 || ~8.1.0 || ~8.2.0 -> your php version (8.3.7) does not satisfy that requirement.
  Problem 3
    - lcobucci/clock is locked to version 3.0.0 and an update of this package was not requested.
    - lcobucci/clock 3.0.0 requires php ~8.1.0 || ~8.2.0 -> your php version (8.3.7) does not satisfy that requirement.
  Problem 4
    - mathieuviossat/arraytotexttable is locked to version v1.0.10 and an update of this package was not requested.
    - mathieuviossat/arraytotexttable v1.0.10 requires php ~8.0.0 || ~8.1.0 || ~8.2.0 -> your php version (8.3.7) does not satisfy that requirement.
  Problem 5
    - ezyang/htmlpurifier v4.16.0 requires php ~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 -> your php version (8.3.7) does not satisfy that requirement.
    - caxy/php-htmldiff v0.1.14 requires ezyang/htmlpurifier ^4.7 -> satisfiable by ezyang/htmlpurifier[v4.16.0].
    - caxy/php-htmldiff is locked to version v0.1.14 and an update of this package was not requested.

Meaning that our current install instructions won't work if you don't already have the correct version of PHP.

Instead you need to do something like

git clone <something>
cd <directory>
lando start # Replace with the equivalent ddev command if that's what you prefer.
lando composer install # Same.
fire setup

I'm not sure what the workaround for this is. Should FIRE Launcher be able to run fire setup on its own???

dalin- commented 1 week ago

An idea: