- How do I install DLoad in a Laravel project?
- Run `composer require internal/dload` in your Laravel project directory. The package integrates seamlessly with Composer and Laravel’s service container, requiring no additional setup beyond configuration in `config/dload.php`.
- Does DLoad support version constraints for binaries like Composer does?
- Yes, DLoad uses version constraints (e.g., `^1.0`, `1.2.*`) in its configuration to pin specific binary versions. This ensures consistency across environments and avoids conflicts with manually installed tools.
- Can I use DLoad to manage RoadRunner or Temporal binaries in Laravel?
- Absolutely. DLoad is designed for this exact use case. Define RoadRunner or Temporal in your `config/dload.php` with their release URLs, and DLoad will handle cross-platform downloads and checksum validation automatically.
- What Laravel versions does DLoad support?
- DLoad is fully compatible with Laravel 9+ and PHP 8.1+. The package adheres to Laravel’s modern architecture, including service providers and environment-aware configurations, with no breaking changes in recent updates.
- How does DLoad handle missing binaries in production?
- DLoad validates binary paths during runtime. If a binary is missing, it throws a `RuntimeException` by default. You can extend this with Laravel’s exception handling (e.g., `Reportable`) or custom events for observability in production.
- Is there a way to customize binary download paths?
- Yes, DLoad allows custom download destinations via configuration. Specify a `download_path` in your `config/dload.php` or override it per binary. The `show` command now resolves paths more reliably, reducing edge-case failures.
- Does DLoad work with Docker or Kubernetes deployments?
- Yes, DLoad is designed for containerized environments. Binaries are downloaded to the container’s filesystem, and the `show` command ensures consistent path resolution across Docker, Kubernetes, or shared hosting setups.
- What alternatives exist for binary management in Laravel?
- Alternatives include manual `wget`/`curl` scripts, Laravel’s `Artisan` commands with shell execution, or packages like `spatie/fork`. However, DLoad stands out by combining version constraints, checksum validation, and cross-platform support in a Laravel-native way.
- How do I test DLoad in a CI/CD pipeline?
- Use DLoad’s `download` command in your CI script to verify binaries are installed. For example, add `php artisan dload:download rr` to your pipeline. The package also supports dry runs (`--dry-run`) to test without downloading.
- What does the 'AI skills' mention in the docs refer to?
- The 'AI skills' reference in the documentation is ambiguous and likely refers to future extensibility (e.g., interactive validation or metadata enrichment). No AI dependencies or features exist in the current release; monitor updates for clarification.