collectiveaccess / pawtucket2

Pawtucket Improved
GNU General Public License v3.0
82 stars 75 forks source link

Composer error when using PHP 7.3 #32

Closed poplarmedia closed 2 years ago

poplarmedia commented 2 years ago

Pawtucket Master branch is presenting this error when installing from Master on MacOS Monterey using Homebrew: Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 7.4.0". You are running 7.3.33. in /path/to/pawtucket/vendor/composer/platform_check.php on line 24

If I run composer install the issue resolves.

The release notes say it should run in PHP 7.3

Providence does not cause this error

collectiveaccess commented 2 years ago

Works fine for me running 7.3.33 on macOS Big Sur + homebrew. The composer.json file is compatible with PHP 7.3 (develop version are not). Perhaps you got this error because you were switching from a develop branch to master?

poplarmedia commented 2 years ago

This was an existing 1.7.8 DB and media with a clean installation of master branch from git.

To eliminate the upgrade question, I just installed a fresh master of Providence, ran the VRA profile, and then made a fresh master of Pawtucket2, and got the same error.

I then ran the composer install and this is the output:

composer install
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. It is recommended that you run `composer update` or `composer update <package name>`.
Package operations: 1 install, 14 updates, 9 removals
  - Removing psr/simple-cache (1.0.1)
  - Removing psr/http-factory (1.0.1)
  - Removing psr/http-client (1.0.1)
  - Removing phpoffice/phpspreadsheet (1.20.0)
  - Removing myclabs/php-enum (1.8.3)
  - Removing markbaker/matrix (3.0.0)
  - Removing markbaker/complex (3.0.1)
  - Removing maennchen/zipstream-php (2.1.0)
  - Removing laminas/laminas-escaper (2.9.0)
  - Downgrading phenx/php-svg-lib (0.3.4 => v0.3.3): Extracting archive
  - Downgrading guzzlehttp/promises (1.5.1 => 1.4.1): Extracting archive
  - Downgrading guzzlehttp/psr7 (1.8.3 => 1.8.2): Extracting archive
  - Downgrading php-http/discovery (1.14.1 => 1.14.0): Extracting archive
  - Downgrading symfony/deprecation-contracts (v2.5.0 => v2.4.0): Extracting archive
  - Downgrading symfony/options-resolver (v5.4.0 => v5.3.7): Extracting archive
  - Downgrading php-http/cache-plugin (1.7.4 => 1.7.2): Extracting archive
  - Downgrading symfony/var-dumper (v5.4.0 => v5.3.7): Extracting archive
  - Downgrading maximebf/debugbar (v1.17.3 => v1.17.1): Extracting archive
  - Downgrading phpdocumentor/type-resolver (1.5.1 => 1.4.0): Extracting archive
  - Downgrading phpdocumentor/reflection-docblock (5.3.0 => 5.2.2): Extracting archive
  - Downgrading phpoffice/common (1.0.0 => 0.2.9): Extracting archive
  - Upgrading phpoffice/phppresentation (1.0.0 => dev-master 3deaa89): Extracting archive
  - Installing zendframework/zend-escaper (2.6.1): Extracting archive
  - Downgrading phpoffice/phpword (0.18.2 => 0.15.0): Extracting archive
Package guzzlehttp/ringphp is abandoned, you should avoid using it. No replacement was suggested.
Package guzzlehttp/streams is abandoned, you should avoid using it. No replacement was suggested.
Package phpoffice/phpexcel is abandoned, you should avoid using it. Use phpoffice/phpspreadsheet instead.
Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.
Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested.
Package scholarslab/bagit is abandoned, you should avoid using it. No replacement was suggested.
Package zendframework/zend-escaper is abandoned, you should avoid using it. Use laminas/laminas-escaper instead.
Generating autoload files

It says the lock file is out of date, so I ran the upgrade. Here is the output:

composer update
Loading composer repositories with package information
Updating dependencies
Lock file operations: 9 installs, 25 updates, 1 removal
  - Removing zendframework/zend-escaper (2.6.1)
  - Upgrading ezyang/htmlpurifier (v4.13.0 => v4.14.0)
  - Upgrading guzzlehttp/promises (1.4.1 => 1.5.1)
  - Upgrading guzzlehttp/psr7 (1.8.2 => 1.8.3)
  - Locking laminas/laminas-escaper (2.9.0)
  - Locking maennchen/zipstream-php (2.1.0)
  - Locking markbaker/complex (3.0.1)
  - Locking markbaker/matrix (3.0.0)
  - Upgrading maximebf/debugbar (v1.17.1 => v1.18.0)
  - Locking myclabs/php-enum (1.8.3)
  - Upgrading phenx/php-font-lib (0.5.2 => 0.5.4)
  - Upgrading php-http/cache-plugin (1.7.2 => 1.7.5)
  - Upgrading php-http/discovery (1.14.0 => 1.14.1)
  - Upgrading php-http/message (1.12.0 => 1.13.0)
  - Upgrading phpdocumentor/reflection-docblock (5.2.2 => 5.3.0)
  - Upgrading phpdocumentor/type-resolver (1.4.0 => 1.6.0)
  - Upgrading phpoffice/common (0.2.9 => 1.0.1)
  - Downgrading phpoffice/phppresentation (dev-master 3deaa89 => 1.0.0)
  - Locking phpoffice/phpspreadsheet (1.22.0)
  - Upgrading phpoffice/phpword (0.15.0 => 0.18.3)
  - Locking psr/http-client (1.0.1)
  - Locking psr/http-factory (1.0.1)
  - Locking psr/simple-cache (1.0.1)
  - Upgrading react/promise (v2.8.0 => v2.9.0)
  - Upgrading sabberworm/php-css-parser (8.3.1 => 8.4.0)
  - Upgrading symfony/deprecation-contracts (v2.4.0 => v2.5.0)
  - Upgrading symfony/options-resolver (v5.3.7 => v5.4.3)
  - Upgrading symfony/polyfill-ctype (v1.23.0 => v1.24.0)
  - Upgrading symfony/polyfill-intl-idn (v1.23.0 => v1.24.0)
  - Upgrading symfony/polyfill-intl-normalizer (v1.23.0 => v1.24.0)
  - Upgrading symfony/polyfill-mbstring (v1.23.1 => v1.24.0)
  - Upgrading symfony/polyfill-php72 (v1.23.0 => v1.24.0)
  - Upgrading symfony/polyfill-php73 (v1.23.0 => v1.24.0)
  - Upgrading symfony/polyfill-php80 (v1.23.1 => v1.24.0)
  - Upgrading symfony/var-dumper (v5.3.7 => v5.4.3)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 9 installs, 25 updates, 1 removal
  - Downloading sabberworm/php-css-parser (8.4.0)
  - Downloading symfony/polyfill-mbstring (v1.24.0)
  - Downloading phenx/php-font-lib (0.5.4)
  - Downloading react/promise (v2.9.0)
  - Downloading guzzlehttp/promises (1.5.1)
  - Downloading guzzlehttp/psr7 (1.8.3)
  - Downloading php-http/discovery (1.14.1)
  - Downloading symfony/polyfill-php72 (v1.24.0)
  - Downloading symfony/polyfill-intl-normalizer (v1.24.0)
  - Downloading symfony/polyfill-intl-idn (v1.24.0)
  - Downloading symfony/polyfill-php80 (v1.24.0)
  - Downloading symfony/polyfill-php73 (v1.24.0)
  - Downloading symfony/deprecation-contracts (v2.5.0)
  - Downloading symfony/options-resolver (v5.4.3)
  - Downloading php-http/message (1.13.0)
  - Downloading php-http/cache-plugin (1.7.5)
  - Downloading symfony/var-dumper (v5.4.3)
  - Downloading maximebf/debugbar (v1.18.0)
  - Downloading myclabs/php-enum (1.8.3)
  - Downloading symfony/polyfill-ctype (v1.24.0)
  - Downloading phpdocumentor/type-resolver (1.6.0)
  - Downloading phpdocumentor/reflection-docblock (5.3.0)
  - Downloading psr/simple-cache (1.0.1)
  - Downloading psr/http-factory (1.0.1)
  - Downloading psr/http-client (1.0.1)
  - Downloading markbaker/matrix (3.0.0)
  - Downloading markbaker/complex (3.0.1)
  - Downloading maennchen/zipstream-php (2.1.0)
  - Downloading ezyang/htmlpurifier (v4.14.0)
  - Downloading phpoffice/phpspreadsheet (1.22.0)
  - Downloading phpoffice/common (1.0.1)
  - Downloading phpoffice/phppresentation (1.0.0)
  - Downloading laminas/laminas-escaper (2.9.0)
  - Downloading phpoffice/phpword (0.18.3)
  - Removing zendframework/zend-escaper (2.6.1)
  - Upgrading sabberworm/php-css-parser (8.3.1 => 8.4.0): Extracting archive
  - Upgrading symfony/polyfill-mbstring (v1.23.1 => v1.24.0): Extracting archive
  - Upgrading phenx/php-font-lib (0.5.2 => 0.5.4): Extracting archive
  - Upgrading react/promise (v2.8.0 => v2.9.0): Extracting archive
  - Upgrading guzzlehttp/promises (1.4.1 => 1.5.1): Extracting archive
  - Upgrading guzzlehttp/psr7 (1.8.2 => 1.8.3): Extracting archive
  - Upgrading php-http/discovery (1.14.0 => 1.14.1): Extracting archive
  - Upgrading symfony/polyfill-php72 (v1.23.0 => v1.24.0): Extracting archive
  - Upgrading symfony/polyfill-intl-normalizer (v1.23.0 => v1.24.0): Extracting archive
  - Upgrading symfony/polyfill-intl-idn (v1.23.0 => v1.24.0): Extracting archive
  - Upgrading symfony/polyfill-php80 (v1.23.1 => v1.24.0): Extracting archive
  - Upgrading symfony/polyfill-php73 (v1.23.0 => v1.24.0): Extracting archive
  - Upgrading symfony/deprecation-contracts (v2.4.0 => v2.5.0): Extracting archive
  - Upgrading symfony/options-resolver (v5.3.7 => v5.4.3): Extracting archive
  - Upgrading php-http/message (1.12.0 => 1.13.0): Extracting archive
  - Upgrading php-http/cache-plugin (1.7.2 => 1.7.5): Extracting archive
  - Upgrading symfony/var-dumper (v5.3.7 => v5.4.3): Extracting archive
  - Upgrading maximebf/debugbar (v1.17.1 => v1.18.0): Extracting archive
  - Installing myclabs/php-enum (1.8.3): Extracting archive
  - Upgrading symfony/polyfill-ctype (v1.23.0 => v1.24.0): Extracting archive
  - Upgrading phpdocumentor/type-resolver (1.4.0 => 1.6.0): Extracting archive
  - Upgrading phpdocumentor/reflection-docblock (5.2.2 => 5.3.0): Extracting archive
  - Installing psr/simple-cache (1.0.1): Extracting archive
  - Installing psr/http-factory (1.0.1): Extracting archive
  - Installing psr/http-client (1.0.1): Extracting archive
  - Installing markbaker/matrix (3.0.0): Extracting archive
  - Installing markbaker/complex (3.0.1): Extracting archive
  - Installing maennchen/zipstream-php (2.1.0): Extracting archive
  - Upgrading ezyang/htmlpurifier (v4.13.0 => v4.14.0): Extracting archive
  - Installing phpoffice/phpspreadsheet (1.22.0): Extracting archive
  - Upgrading phpoffice/common (0.2.9 => 1.0.1): Extracting archive
  - Downgrading phpoffice/phppresentation (dev-master 3deaa89 => 1.0.0): Extracting archive
  - Installing laminas/laminas-escaper (2.9.0): Extracting archive
  - Upgrading phpoffice/phpword (0.15.0 => 0.18.3): Extracting archive
3 package suggestions were added by new dependencies, use `composer suggest` to see details.
Package guzzlehttp/ringphp is abandoned, you should avoid using it. No replacement was suggested.
Package guzzlehttp/streams is abandoned, you should avoid using it. No replacement was suggested.
Package hoa/compiler is abandoned, you should avoid using it. No replacement was suggested.
Package hoa/consistency is abandoned, you should avoid using it. No replacement was suggested.
Package hoa/event is abandoned, you should avoid using it. No replacement was suggested.
Package hoa/exception is abandoned, you should avoid using it. No replacement was suggested.
Package hoa/file is abandoned, you should avoid using it. No replacement was suggested.
Package hoa/iterator is abandoned, you should avoid using it. No replacement was suggested.
Package hoa/math is abandoned, you should avoid using it. No replacement was suggested.
Package hoa/protocol is abandoned, you should avoid using it. No replacement was suggested.
Package hoa/regex is abandoned, you should avoid using it. No replacement was suggested.
Package hoa/stream is abandoned, you should avoid using it. No replacement was suggested.
Package hoa/ustring is abandoned, you should avoid using it. No replacement was suggested.
Package hoa/visitor is abandoned, you should avoid using it. No replacement was suggested.
Package hoa/zformat is abandoned, you should avoid using it. No replacement was suggested.
Package phpoffice/phpexcel is abandoned, you should avoid using it. Use phpoffice/phpspreadsheet instead.
Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.
Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested.
Package scholarslab/bagit is abandoned, you should avoid using it. No replacement was suggested.
Generating autoload files

If you want me to run further tests, let me know.

collectiveaccess commented 2 years ago

So there wasn't a fatal error?

poplarmedia commented 2 years ago

With the clean install, and then running the VRA profile into an empty install, It was the same error as before: Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 7.4.0". You are running 7.3.33. in /path/to/pawtucket/test/vendor/composer/platform_check.php on line 24

collectiveaccess commented 2 years ago

Ok, so what was different in the previous run where you didn't get the error? I'm not seeing any issues running with current Pawtucket code in a clean install.

poplarmedia commented 2 years ago

Sorry if I am not being clear. In both instances, I get a fatal error in php 7.3 with a fresh install, whether it is an exiting DB or a new one created from a profile. I fix it by running composer update at the root of Pawtucket.

The release notes say:

Note that this version supports 7.3 and 7.4. It is not yet compatible with PHP 8.

Is is this what is supposed to happen? The fatal error?

Line 8 of the platform_check.php references PHP 7.4.0 $issues[] = 'Your Composer dependencies require a PHP version ">= 7.4.0". You are running ' . PHP_VERSION . '.';

Is that correct, or should it say '7.3.0'?

collectiveaccess commented 2 years ago

That's generated by composer... the thing is I don't get that error when I try to install on 7.3.

poplarmedia commented 2 years ago

Point taken. Would it make sense to add a something to the release notes in case others encounter this issue in 7.3?