Recently, I used Dreamhost support (not a lot of experience), and in the end they recommended freezing gems in the application. This is, at best, a partial solution because it works for some gems, not others.
Instead
require 'sinatra'
I have:
require 'vendor/gems/sinatra-0.9.4/lib/sinatra'
Freezing gemstones are considered elsewhere, but briefly: to prepare for this you need to do
mkdir vendor/gems
cd vendor/gems
gem unpack sinatra
, , . , , . , , "" "vendor".