There's a great trick mentioned on the Riding Rails weblog for "freezing" gems into a Rails application (so your application carries its own version of Rails around with it, and won't be affected by upgrades to Rails on a shared host). The trick is to run the command:
in the root of your application. This unpacks the current gems into the vendor/rails directory. Your application will detect the presence of these local, unpacked gems and use them instead of the main system Rails gems.