Ruby 如何要求冻结红宝石

Ruby 如何要求冻结红宝石,ruby,rubygems,Ruby,Rubygems,我正在从事一个小型Ruby项目,在一个类中,我需要一个gem。 现在,由于该项目必须是便携式的,我已经决定冻结的宝石,所以我已经打开它。 我的项目现在看起来像 / /lib xml_generator.rb /vendor /gems /dbf-1.7.3 我如何在xml_生成器中指定使用位于本地供应商/gems/dbf-1.7.3的dbf-1.7.3 我尝试了几种解决方案,最后一种是 gem“dbf”,路径=>“./vendor/gems/dbf-1.7.

我正在从事一个小型Ruby项目,在一个类中,我需要一个gem。 现在,由于该项目必须是便携式的,我已经决定冻结的宝石,所以我已经打开它。 我的项目现在看起来像

/
  /lib
    xml_generator.rb
  /vendor
    /gems
      /dbf-1.7.3
我如何在xml_生成器中指定使用位于本地供应商/gems/dbf-1.7.3的dbf-1.7.3

我尝试了几种解决方案,最后一种是

gem“dbf”,路径=>“./vendor/gems/dbf-1.7.3” 需要“dbf”

但它似乎不起作用


谢谢您的帮助。

如果系统上安装了dbf,我想您只需指定确切的版本即可:

require 'rubygems'
gem 'dbf', '= 1.7.3'
如果没有,您可以尝试要求dbf-1.7.3下的所有Ruby文件:

Dir['./../vendor/gems/dbf-1.7.3/*.rb'].each{ |f| require f }

不幸的是,它不起作用。如果在仅安装了dbf-1.5.2的系统中运行xml_generator,则会出现以下错误:RubyGem版本错误:dbf(1.5.2不=1.7.3)只有在同时安装了(1.5.2和7.1.3)的情况下,您的解决方案才能工作。谢谢,我修改了我的答案。也许你可以使用第二个选项?不确定你的第二个选项是否有效,但我很确定有更好的解决方案。无论如何谢谢你的帮助。我很感激。