Skip to content

fix: remove legacy prestissimo cleanup causing composer crash#240

Merged
AaronFeledy merged 3 commits intomainfrom
fix/composer-prestissimo-crash
Feb 25, 2026
Merged

fix: remove legacy prestissimo cleanup causing composer crash#240
AaronFeledy merged 3 commits intomainfrom
fix/composer-prestissimo-crash

Conversation

@AaronFeledy
Copy link
Member

@AaronFeledy AaronFeledy commented Feb 25, 2026

Summary

Removes the legacy hirak/prestissimo cleanup block from install-composer.sh that was causing composer to crash during Laravel (and other recipe) builds.

Root Cause

Commit 01586fb moved composer installation from build_internal to build_as_root_internal, meaning install-composer.sh now runs as root instead of the service user (www-data).

The prestissimo cleanup block checked for a global composer.json at /var/www/.composer/ (www-data's dir), but composer global remove as root targets /root/.config/composer/composer.json — which doesn't exist. This path mismatch causes:

Changed current directory to /root/.config/composer
In JsonFile.php line 114:
  Could not read ./composer.json

This only triggers on rebuilds where /var/www/.composer/composer.json persists from a previous build via volume mounts.

Fix

Remove the prestissimo cleanup entirely. hirak/prestissimo was a Composer 1 parallel-download plugin that Composer 2 made obsolete in 2020. The cleanup code is no longer needed.

Testing

  • Fresh lando start with Laravel recipe
  • lando rebuild with persistent composer volumes
  • Composer 1 and Composer 2 builds (neither affected by removal)

Note

Low Risk
Low risk: removes an obsolete post-install cleanup step and only affects Composer install-time behavior; main risk is missing any previously relied-on global plugin removal in edge cases.

Overview
Fixes a Composer install crash by removing the legacy hirak/prestissimo global cleanup from scripts/install-composer.sh, avoiding failures when the script runs under a different user context.

Updates CHANGELOG.md to note the fix.

Written by Cursor Bugbot for commit 92cad25. This will update automatically on new commits. Configure here.

@netlify
Copy link

netlify bot commented Feb 25, 2026

Deploy Preview for lando-php ready!

Name Link
🔨 Latest commit 92cad25
🔍 Latest deploy log https://app.netlify.com/projects/lando-php/deploys/699ea04b9e2a940008380df1
😎 Deploy Preview https://deploy-preview-240--lando-php.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 84 (🔴 down 7 from production)
Accessibility: 98 (no change from production)
Best Practices: 100 (no change from production)
SEO: 100 (no change from production)
PWA: -
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

The Docker dockerfile-release-notes link has a fragment redirect issue
and jeffgeerling.com returns 301 instead of 302. Both are external
sites we can't control, so mark them as known TODOs.
The hirak/prestissimo removal in install-composer.sh checked for a global
composer.json at /var/www/.composer/ (www-data's dir) but ran
`composer global remove` as root, which targets /root/.config/composer.
Since commit 01586fb moved composer installation to build_as_root_internal,
this script now runs as root, causing a path mismatch and crash when
/var/www/.composer/composer.json exists from a previous build.

Prestissimo was a Composer 1 parallel-download plugin that Composer 2
made obsolete. The cleanup code is no longer needed.
@AaronFeledy AaronFeledy force-pushed the fix/composer-prestissimo-crash branch from bc5db1f to 92cad25 Compare February 25, 2026 07:10
@AaronFeledy AaronFeledy merged commit cac88b9 into main Feb 25, 2026
50 checks passed
@AaronFeledy AaronFeledy deleted the fix/composer-prestissimo-crash branch February 25, 2026 17:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant