0

I've git cloned my Laravel project to my remote server and am trying to get the required packages via a run of composer update.

This always fails with an error of:

Your requirements could not be resolved to an installable set of packages.

Followed by:

Problem 1 - Conclusion: don't install laravel/framework 4.1.x-dev - Conclusion: don't install laravel/framework v4.1.24 - Conclusion: don't install laravel/framework v4.1.23 - Conclusion: don't install laravel/framework v4.1.22 - Conclusion: don't install laravel/framework v4.1.21 - Conclusion: don't install laravel/framework v4.1.20 - Conclusion: don't install laravel/framework v4.1.19 - Conclusion: don't install laravel/framework v4.1.18 - Conclusion: don't install laravel/framework v4.1.17 - Conclusion: don't install laravel/framework v4.1.16 - Conclusion: don't install laravel/framework v4.1.15 - Conclusion: don't install laravel/framework v4.1.14 - Conclusion: don't install laravel/framework v4.1.13 - Conclusion: don't install laravel/framework v4.1.12 - Conclusion: don't install laravel/framework v4.1.11 - Conclusion: don't install laravel/framework v4.1.10 - Conclusion: don't install laravel/framework v4.1.9 - Conclusion: don't install laravel/framework v4.1.8 - Conclusion: don't install laravel/framework v4.1.7 - Conclusion: don't install laravel/framework v4.1.6 - Conclusion: don't install laravel/framework v4.1.5 - Conclusion: don't install laravel/framework v4.1.4 - Conclusion: don't install laravel/framework v4.1.3 - Installation request for way/generators 1.0.*@dev -> satisfiable by way/generators[1.0]. - Conclusion: don't install laravel/framework v4.1.2 - Conclusion: don't install laravel/framework v4.1.1 - way/generators 1.0 requires illuminate/filesystem 4.0.x -> satisfiable by laravel/framework[4.0.x-dev], illuminate/filesystem[4.0.x-dev, v4.0.0, v4.0.0-BETA2, v4.0.0-BETA3, v4.0.0-BETA4, v4.0.1, v4.0.10, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8, v4.0.9]. - Can only install one of: laravel/framework[v4.1.0, 4.0.x-dev]. - don't install illuminate/filesystem 4.0.x-dev|don't install laravel/framework v4.1.0 - don't install illuminate/filesystem v4.0.0|don't install laravel/framework v4.1.0 - don't install illuminate/filesystem v4.0.0-BETA2|don't install laravel/framework v4.1.0 - don't install illuminate/filesystem v4.0.0-BETA3|don't install laravel/framework v4.1.0 - don't install illuminate/filesystem v4.0.0-BETA4|don't install laravel/framework v4.1.0 - don't install illuminate/filesystem v4.0.1|don't install laravel/framework v4.1.0 - don't install illuminate/filesystem v4.0.10|don't install laravel/framework v4.1.0 - don't install illuminate/filesystem v4.0.2|don't install laravel/framework v4.1.0 - don't install illuminate/filesystem v4.0.3|don't install laravel/framework v4.1.0 - don't install illuminate/filesystem v4.0.4|don't install laravel/framework v4.1.0 - don't install illuminate/filesystem v4.0.5|don't install laravel/framework v4.1.0 - don't install illuminate/filesystem v4.0.6|don't install laravel/framework v4.1.0 - don't install illuminate/filesystem v4.0.7|don't install laravel/framework v4.1.0 - don't install illuminate/filesystem v4.0.8|don't install laravel/framework v4.1.0 - don't install illuminate/filesystem v4.0.9|don't install laravel/framework v4.1.0 - Installation request for laravel/framework 4.1.* -> satisfiable by laravel/framework[4.1.x-dev, v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.13, v4.1.14, v4.1.15, v4.1.16, v4.1.17, v4.1.18, v4.1.19, v4.1.2, v4.1.20, v4.1.21, v4.1.22, v4.1.23, v4.1.24, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9]. 

My composer.json requires are: as follows:

"require": { "laravel/framework": "4.1.*", "way/generators": "1.0.*@dev", "loic-sharma/profiler": "dev-master", "zizaco/confide": "3.2.x" }, 

Any ideas how to solve? The update command works fine on my mac.

1 Answer 1

2

The text is telling you that you cannot use Laravel 4.1.* together with way/generators 1.0.*@dev, because that software still requires Laravel 4.0.*.

So now you have to decide: Do you need Laravel 4.1? Then you have to find a version of way/generators that works with it. Otherwise downgrade to Laravel 4.0.

If the update command worked on some machine, then the other machine might not have some PHP extensions present that might be needed, or is running a different PHP version. You can try to update the packages on your Mac, upload the composer.lock file and then only install. It is generally not recommended to update in production if you have a test or development environment. An update will most likely not install the same versions you developed and tested with.

Sign up to request clarification or add additional context in comments.

4 Comments

Thanks for your suggestions. I agree with your advice about not using composer on a production server. The reason I am is because having cloned my repository onto my server it was missing a number of packages. I'm not quite sure why all the packages weren't synced when I commit/push from my mac but that would also be a good one to solve. I'm trying to move away from ftping stuff and just pushing and pulling from github instead.
The most obvious reason would be that you are supposed to not commit the vendor folder into your repository (include it in .gitignore), but only the composer.lock file. That way you avoid issues with cloned packages' repositories that would act as git submodules (I've been told submodules are more of a pain than a solution) when committed. So the necessary workflow is: Commit composer.lock, push the code to production, and then run composer install there. Btw, syncing isn't that bad, but YMMV.
OK thanks. Looks like the version of way/generators in my .lock file no longer satisfies composer. I've changed the version to '*' and the install works. I will follow your advice of gitignoring the vendors folder and having a lock file that works. I guess it's when a vendor changes their versions it can mess with composer installs, even if you use a lock file that previously worked.
No, actually the lock file should work every time. Because you can only create a new version if the dependencies didn't conflict. And you will only create a new version of the lock file if you either composer update everything, a single package, or add a new package with composer require. If this works flawlessly, you should be able to install afterwards on every other machine - provided that the repositories didn't vanish! (So if somebody deletes his Github repo, the install will likely fail if Composer does not have a cached copy available).

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.