Download the PHP package wiistriker/composer-override-reqs-plugin without Composer
On this page you can find all versions of the php package wiistriker/composer-override-reqs-plugin. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download wiistriker/composer-override-reqs-plugin
More information about wiistriker/composer-override-reqs-plugin
Files in wiistriker/composer-override-reqs-plugin
Package composer-override-reqs-plugin
Short Description Plugin to override composer package requirements
License MIT
Informations about the package composer-override-reqs-plugin
Composer Override Reqs Plugin
English version
Русская версия
Для чего этот плагин?
Иногда при работе с Composer возникает проблема: некоторые пакеты имеют слишком жёсткие ограничения по версиям зависимостей.
Например, пакет dama/doctrine-test-bundle:6.7.5 требует:
Это означает, что пакет можно установить только вместе с Symfony 4.4, 5.3 или 6.0.
Однако на практике часто бывает так, что пакет вполне работает и с промежуточными версиями, например Symfony 5.0–5.2.
Как можно обойти ограничение?
Существуют стандартные варианты, но у них есть недостатки:
-
Использовать
asв require
Например:Минус: нужно указывать точные версии вручную.
- Форкнуть репозиторий
Внести правки и подключить его через repositories.
Минус: придётся поддерживать собственный форк.
Если по каким-то причинам эти методы вам (как и мне), не подошли, то можно попробовать данный плагин. Минус у данного плагина в том, что он использует Reflection, поэтому не гарантируется работа при выходе новых версий composer.
Установка и настройка
Установите плагин:
Добавьте в composer.json секцию extra.requirements-override.override:
После этого запустите:
Теперь dama/doctrine-test-bundle установится и на Symfony 5.0, так как зависимости были переопределены.
English version
What is this plugin for?
Sometimes Composer packages come with overly strict dependency constraints.
For example, dama/doctrine-test-bundle:6.7.5 requires:
This means the bundle can only be installed with Symfony 4.4, 5.3, or 6.0.
But in reality, it would also work just fine with Symfony 5.0–5.2.
How can we bypass this?
Typical workarounds exist, but each has drawbacks:
-
Use
asin require
Example:Drawback: you must specify exact versions manually.
- Fork the repository
Modify the dependency constraints and include it via repositories.
Drawback: you need to maintain your own fork.
If, for some reason, these methods (just like for me) didn’t work for you, you can try this plugin instead.
The downside of this plugin is that it relies on Reflection, so compatibility with future Composer releases is not guaranteed.
Installation & Usage
Install the plugin:
Then add the extra.requirements-override.override section in your composer.json:
Finally, run:
Now dama/doctrine-test-bundle will install even with Symfony 5.0, since the dependency constraints were overridden.