【发布时间】:2012-04-04 00:55:23
【问题描述】:
我正在打包一个外部依赖项很少的 gem(例如“liquid”、“fastercsv”等),这里唯一的要求是安装 gem 的用户不能访问网络(一些代理限制)。我将我的 gem 放在“vendor/bundle/jruby/1.9”文件夹中,只是想知道如何强制用户使用这些 gem,而不是从 http://rubygems.org 下载它们?
谢谢!
【问题讨论】:
我正在打包一个外部依赖项很少的 gem(例如“liquid”、“fastercsv”等),这里唯一的要求是安装 gem 的用户不能访问网络(一些代理限制)。我将我的 gem 放在“vendor/bundle/jruby/1.9”文件夹中,只是想知道如何强制用户使用这些 gem,而不是从 http://rubygems.org 下载它们?
谢谢!
【问题讨论】:
如果您真的想这样做,您可以编辑 gem 的 Gemfile 并将这些 gem 作为依赖项删除。
这意味着当用户安装您的 gem 时,他不会下载任何其他 gem。
在你的 gem 中,你需要使用你的每个内部 gem。
如果您想确保获得自己的内部 gem,而不是用户系统上预先存在的 gem,您可以使用加载路径:保存它,用您自己的覆盖它,加载您的 gem,然后恢复加载路径。
【讨论】: