laravel/installer
Laravel Installer is the official CLI tool for creating new Laravel applications quickly. Install it via Composer and scaffold fresh projects with a single command, using the latest Laravel release and recommended defaults for your environment.
The laravel/installer v5.28.1 is a release script update with no functional changes, breaking updates, or new features. Key observations:
Updated Use Cases (Unchanged):
php artisan key:generate)..env) remain functional.laravel new my-project --hook="composer dump-autoload" --preset=./team-preset.json
Updated Key Integration Points (Unchanged):
- run: laravel new . --non-interactive --hook="npm ci"
laravel new my-app --interactive --hook="php artisan migrate --seed"
// team-preset.json (unchanged)
{
"hooks": ["php artisan config:clear"],
"interactive": { "default": { "APP_ENV": "local" } }
}
| Risk Area | Updated Mitigation |
|---|---|
| Hook Execution Failures | Unchanged: Validate hooks in staging; use --debug for troubleshooting. |
| Interactive Prompts in CI | Unchanged: Use --non-interactive in pipelines. |
| GitHub Actions OAuth | Unchanged: Monitor CI logs for OAuth errors (no risk introduced). |
| Release Script Issues | New (Low Risk): If using Laravel’s installer as a dependency, ensure the release script update doesn’t break local builds (e.g., in monorepos). Mitigation: Pin laravel/installer to ^5.28.0 in composer.json. |
Critical Questions (Updated):
laravel/installer used as a direct dependency in a monorepo or build system? If so, should the version be pinned to 5.28.0 to avoid unintended release script updates?Updated Stack Compatibility:
| Component | Notes |
|---|---|
| Interactive Hooks | Unchanged: Supports Bash/PHP commands via CLI flags or presets. |
| GitHub Actions OAuth | Unchanged: Backward-compatible revert remains intact. |
| Release Script | No stack impact; irrelevant to end users unless managing Laravel’s source directly. |
Non-Fit Scenarios (Unchanged):
--non-interactive).composer.json:
"require": {
"laravel/installer": "^5.28.0" // Pin to avoid auto-updates
}
laravel new with hooks) to confirm no regression:
laravel new test-project --hook="echo 'Test hook'" --debug
| Component | Compatibility Notes |
|---|---|
| Interactive Hooks | Fully compatible with v5.28.0 behavior. |
| GitHub Actions OAuth | Unchanged compatibility. |
| Release Script | No user-facing impact; irrelevant unless managing Laravel’s source. |
# Example: Unchanged from v5.28.0
laravel new project-name --interactive --hook="php artisan migrate"
--debug for troubleshooting.Anti-Patterns (Unchanged):
--non-interactive).--debug; validate commands manually.--non-interactive and separate scripts.| Failure Mode | Updated Mitigation |
|---|---|
| Hook Command Failures | Unchanged: Isolate and test hooks in staging. |
| CI Pipeline Breaks | Unchanged: Use --non-interactive; avoid prompts in automated workflows. |
| Release Script Conflicts | New (Low Risk): If using Laravel’s installer as a dependency, pin the version to avoid unintended updates. |
NO_UPDATE_NEEDED would not apply here, as this is a meaningful update to clarify the non-substantive nature of the release and address the release script risk for advanced use cases (e.g., monorepos). The assessment is updated to reflect v5.28.1’s actual impact.
How can I help you explore Laravel packages today?