Yes, there are scripts such as Capistrano (typical and can install gems),
Vlad the Deployer (my favorite because it uses rake and is better written),
Sprinkle (scriptable sys admin & we're getting great results from it),
and Chef (more powerful/complex and suitable for larger needs).
Also, the typical way is to put all your gem requirements in
your app's config.rb file, which means that your app will
check to be sure it has all the gems it needs to run.
I recommend specifying the gem version, lib, and source:
config.gem 'foo-bar', :lib => 'bar', :version => '1.2.3', :source => '
http://gems.github.com'
People will tell you that you can install your app's gems by doing:
rake gems:install
However, I have found the gems:install approach to be VERY unreliable.
There are all kinds of tricky problems with it.
Much better is to install the gems yourself (with Cap, Vlad, Sprinkle, Chef, by hand, etc.)
We always use the --test flag to ensure our gems are working correctly,
and we use a bunch of other flags that may help you too:
sudo gem install foo-bar -v 1.2.3 --source
http://gems.github.com --trust-policy HighSecurity --test --no-ri --no-rdoc --no-user-install
Longer term we want to start using Phusion DebGems, which are a smart, secure approach
to mananging gem dependencies at a systems administration level.
Hope this helps!
Cheers,
Joel