I think the best advice I can give right now is this piece from our head honcho, fool:
At a high level, deploying via CLI means we don’t change your files - you build them locally, send them to us, we send them to our CDN, done. When we deploy via a git commit, we build them - in our build environment, which is almost certainly different than yours. Some key traits of that build environment are described in these articles:
The first-pass debugging advice we tend to give, once we confirm there are no total bogons in your configuration like a nonexistent deployment directory (we can see that is not the case in the logs you shared here, thanks for not cutting them off too early!), is based on the versions and settings of software we use to build which can be found here.
You can override all of these as shown in that linked build settings article. Once you’ve gotten versions and setting synced, if things still aren’t building right, it’s worth manually triggering a deploy with the dependency (build) cache cleared. You can hit the ‘trigger deploy’ button on the deploy listings page to initiate a build without a commit, and when you do, you can select “clear build cache”.
In the end, if you have versions synced, and cache isn’t the problem, the next easiest debug step is to compare the files we’ve built with the ones you build locally, using a tool like
diff -r . But how do you see all of those files easily? This tiny icon on every completed deploy logs page lets you download a copy of the deploy:
If in the end none of that helps, you can find instructions for debugging your build inside our build environment at the end of the first article I linked.