Dwight Watson's blog

Composer update in Laravel with services providers

This blog post was originally published a little while ago. Please consider that it may no longer be relevant or even accurate.

If you're working in a team environment where other developers are adding dependancies to your Laravel 4 project and registering service providers in your app, it can get really frustrating when you try and run composer update to get the new packages in. Usually, you'll get an ugly error in the terminal, something like this:

{"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","message":"Class 'Cartalyst\\Sentry\\SentryServiceProvider' not found","file":"\/Users\/Dwight\/Sites\/studious\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/ProviderRepository.php","line":123}}

Script php artisan clear-compiled handling the pre-update-cmd event returned with an error

Normally, you could just go to your app.php file and comment out the service providers, run composer update and then uncomment them and you'd be good to go. Thankfully, there's an easier way!

composer update --no-scripts

Using that switch on the command will run the update without running the hooks into Laravel which runs several checks, so it's perfect to use when you need to run an update when your app's providers have changed!

A blog about Laravel & Rails by Dwight Watson;

Picture of Dwight Watson

Follow me on Twitter, or GitHub.