Reputation: 24661
I am attempting to update a composer package for Laravel 5. The Laravel 4 composer.json schema includes this:
"require": {
"php": ">=5.3.3",
"illuminate/foundation": "4.*",
"illuminate/support": "4.*"
},
I am attempting to update it to something like this:
"require": {
"php": ">=5.3.3",
"illuminate/foundation": "4.*",
"illuminate/support": "5.*"
},
After running composer install
, I got an error saying that illuminate/foundation
could not be found, so I tried changing the minimum-stability
to dev
. Composer can find the package now, but I get this error:
Problem 1
- illuminate/exception dev-master requires illuminate/support 5.0.* -> satisfiable by illuminate/support[5.0.x-dev, v5.0.0, v5.0.4].
- Can only install one of: illuminate/support[dev-master, 5.0.x-dev].
- Can only install one of: illuminate/support[v5.0.0, dev-master].
- Can only install one of: illuminate/support[v5.0.4, dev-master].
- illuminate/foundation 4.0.x-dev requires illuminate/exception dev-master -> satisfiable by illuminate/exception[dev-master].
- illuminate/foundation 4.0.x-dev requires illuminate/support dev-master -> satisfiable by illuminate/support[dev-master].
- Installation request for illuminate/foundation 4.* -> satisfiable by illuminate/foundation[4.0.x-dev].
I need illuminate/support
to be 5+ because of the changes in Laravel 5's service providers regarding config publishing. I need illuminate/foundation
because the unit tests require it.
How can I structure these dependencies so composer can install them?
I have tried also setting illuminate/support
to dev-master
, and both illuminate packages to dev-master
, both resolving to different errors. Is the only way to fix this to update upstream dependencies?
I have already gotten the updates to install and (seemingly) work correctly in a Laravel 5 installation. I may have worked around my issue by just making the entire laravel/framework
a dependency, but I really don't think I want to leave that as the solution.
Additional outputs from running composer install
illuminate/support
@ dev-master
and illuminate/foundation
at 4.*
:
Problem 1
- Installation request for illuminate/foundation 4.* -> satisfiable by illuminate/foundation[4.0.x-dev].
- illuminate/exception dev-master requires illuminate/support 5.0.* -> satisfiable by illuminate/support[5.0.x-dev].
- Can only install one of: illuminate/support[dev-master, 5.0.x-dev].
- illuminate/foundation 4.0.x-dev requires illuminate/exception dev-master -> satisfiable by illuminate/exception[dev-master].
- Installation request for illuminate/support dev-master -> satisfiable by illuminate/support[dev-master].
illuminate/support
@ dev-master
and illuminate/foundation
at dev-master
:
Problem 1
- Installation request for illuminate/foundation dev-master -> satisfiable by illuminate/foundation[dev-master].
- illuminate/exception dev-master requires illuminate/support 5.0.* -> satisfiable by illuminate/support[5.0.x-dev].
- Can only install one of: illuminate/support[dev-master, 5.0.x-dev].
- illuminate/foundation dev-master requires illuminate/exception dev-master -> satisfiable by illuminate/exception[dev-master].
- Installation request for illuminate/support dev-master -> satisfiable by illuminate/support[dev-master].
Upvotes: 1
Views: 326
Reputation: 41934
Never ever use dev-master
as version, just use 5.*
(for both packages) and you're ready.
Upvotes: 2