explain why we don't cache composer dependencies