A naive way to cache composer dependencies would be to add the install directory to the cache_directories section of your circle.yml. Unfortunately, composer doesn’t seem to care that you have cached dependencies and will install them all over again. You can fix this by adding composer’s cache to your cache_directories. This way, composer does not need to download your dependencies on every build.