3

如果我构建了一个私有 gem(例如,在我的公司内部托管),那么我想在我正在构建的另一个 gem(不是应用程序!)中重用该 gem,我该怎么做?

我在哪里放置我的依赖项并告诉我的新 gem 如何找到旧的(已经构建的)私人托管的 gem?

4

1 回答 1

5

所以我花了一段时间才弄清楚,因为答案是,它在两个地方。做这个:

  • 在您的 gem 的 Gemfile(是的,Gemfile,不是 .gemspec)中,为您的私有 gem 服务器添加源代码行。如果您还从 RubyGems 中提取,那么它看起来像这样:
source 'http://rubygems.org'
source 'http://myrubygems.mycompany.example.com:8808'  # Or wherever your gems are hosted internally (or externally)
gemspec
  • 然后,在您的 mynewgem.gemspec 中输入以下内容:
Gem::Specification.new do |gem|
  # [...]
  gem.add_dependency 'myoldgem'  # the gem hosted at myrubygems.mycompany.example.com:8808
end

这样做的原因可能很明显:您的 Gemfile 指定了 gem 的来源,而您的 .gemspec 指定了依赖项。

希望这可以节省几分钟。

于 2013-01-26T01:07:22.920 回答