Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Composer Prefer Lowest

Composer Prefer Lowest Laravel Package

dereuromark/composer-prefer-lowest

Composer plugin to help you work with prefer-lowest setups by managing minimum dependency versions and related constraints. Useful for testing packages against lowest supported dependencies and keeping composer.json requirements consistent.

View on GitHub
Deep Wiki
Context7

Checks prefer-lowest more strictly. Add-on for CI.

Frequently asked questions about Composer Prefer Lowest
How does this plugin help catch overly strict dependency constraints in Laravel projects?
The plugin forces Composer to install the lowest possible versions of dependencies that still meet your `composer.json` constraints. This exposes overly strict version ranges (like `1.0.0` instead of `^1.0`) early, helping you avoid compatibility issues in production Laravel environments.
Can I use this with Laravel’s default Composer setup without conflicts?
Yes, this is a Composer plugin, so it integrates seamlessly with Laravel’s existing dependency management. Just install it globally or per-project, and it won’t interfere with Laravel’s core workflows like `vendor/bin/sail` or `artisan`.
Does this work with Laravel’s CI/CD pipelines (GitHub Actions, GitLab CI, etc.)?
Absolutely. The plugin is designed for CI workflows—run `composer install --prefer-lowest` in your CI script to catch dependency issues before they reach production. It’s a best practice for Laravel projects to include this in testing stages.
Will this break existing Laravel applications if I run it during development?
No, it won’t break your app, but it may reveal hidden dependency conflicts. The plugin only installs the lowest valid versions, so if your app relies on strict constraints, you’ll need to adjust them. Always test thoroughly after running it.
How do I install and configure this for a Laravel project?
Install it globally with `composer global require dereuromark/composer-prefer-lowest`, or per-project with `composer require --dev dereuromark/composer-prefer-lowest`. No extra configuration is needed—just use `composer install --prefer-lowest` or `composer update --prefer-lowest` to test.
Does this support Laravel’s latest versions (e.g., Laravel 10, 11) and older ones (Laravel 8, 9)?
This plugin works with any Laravel version since it targets Composer itself, not Laravel’s framework. It’s compatible with Composer 2.x and PHP 8.0+, which covers all modern Laravel releases. Older Laravel versions (pre-8.0) may need Composer 1.x adjustments.
Can I use this alongside other Composer plugins like `composer-normalize` or `php-cs-fixer`?
Yes, this plugin is lightweight and focuses only on dependency version testing. You can combine it with other Composer plugins, but run them in separate commands (e.g., `composer normalize` first, then `composer install --prefer-lowest`).
How do I interpret the warnings or errors this plugin generates?
If the plugin fails to install dependencies, it means your `composer.json` constraints are too strict. The error will show which packages can’t be resolved at the lowest version. Adjust your version ranges (e.g., use `^` or `~`) to widen compatibility.
Is there a performance impact when running this in CI or local development?
The plugin adds minimal overhead since it reuses Composer’s existing dependency resolution logic. In CI, it may slow down builds slightly, but the trade-off is catching issues early. For local dev, it’s negligible unless you have hundreds of dependencies.
What are the alternatives to this plugin for testing dependency constraints?
Alternatives include manually running `composer update --prefer-lowest` or using `composer-require-checker` for version compliance. However, this plugin automates the process and integrates directly into Composer’s workflow, making it more reliable for Laravel projects.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport