I encountered the same issue using my company's shiny server. It happens because when the R session starts on the server, it loads shiny library first which depends on some other libraries, and this leads to that Rcpp of the version in the global environment on the server is loaded before any code in my shiny project gets run. When my code gets called, it cannot unload the older version of Rcpp and load the new version which it can find in my local library. I understand that packrat does isolation, but I'm not sure will it avoid this unloading package problem? Thanks!