I've experienced the following a number of times over the years:
I can run a project locally successfully with no issues (Windows). When I run on the Mendix Cloud (assuming Linux, case sensitive), the project will fail to build and produce an error that states a widget failed to compile or something like that.
The current remedy is to open the app store in the modeler and search for and update each and every widget, which usually resolves it. If it doesn't then a new version needs to customized to overcome this issue. This process is pretty unoptimized.
Two Suggestions in one:
1) If the error could be more descriptive to tell us exactly which widget failed to compile, we can resolve it much faster
2) Make it easier to search and sync new versions of the widgets in our project and update them in the modeler. Instead of individually, search the store by name or id and show the updates found in a list in the modeler, then let the developer "uncheck" the widgets they don't want to update (default check all) in case they have a modified version or something.