ОБНОВЛЕНИЕ (новое решение):
Попробуйте новый упаковщик Йегуды Каца драгоценный камень. gem install bundler
затем создайте Gemfile
со всеми вашими зависимостями. Для получения дополнительной информации см. Документацию.
Старая рекомендация:
Один простой способ - это просто вручную распаковать драгоценные камни в каталог vendor
и добавить путь к lib распакованных драгоценных камней в начало $ LOAD_PATH.
Чтобы распаковать драгоценный камень:
$ cd vendor/gems
$ gem unpack active_support
Unpacked gem: '/path/to/myproject/vendor/gems/activesupport-2.3.2'
Просто убедитесь, что вы распаковали все необходимые гемы и их зависимости (используя правильные версии).
Чтобы добавить все драгоценные камни из vendor / gems в ваш $ LOAD_PATH, попробуйте добавить что-то вроде этого в инициализацию вашего приложения:
Dir.glob(File.join("vendor", "gems", "*", "lib")).each do |lib|
$LOAD_PATH.unshift(File.expand_path(lib))
end
Обновление: Сара (в комментариях) убедила меня, что, возможно, также необходимо переопределить GEM_PATH. Вот один из способов сделать это:
require 'rubygems'
gem_paths = [File.expand_path(File.join("vendor", "gems")), Gem.default_dir]
Gem.clear_paths
Gem.send :set_paths, gem_paths.join(":")
Другим вариантом является поиск Rip (Ruby's Intelligent Packaging) для управления вашими зависимостями. Рип выглядит очень мило, но все еще ново.