我正在写一个基于Yehuda 的新 gem 模板的新 gem,我有点困惑。拥有一个带有依赖项的 Gemfile,并且还指定一个带有依赖项的 gemspec 对我来说似乎是多余的。有人可以解释为什么这是可取的,如果真的有必要吗?
请注意,这是我写过的第一个 gem,所以我对这一切都很陌生。
我正在写一个基于Yehuda 的新 gem 模板的新 gem,我有点困惑。拥有一个带有依赖项的 Gemfile,并且还指定一个带有依赖项的 gemspec 对我来说似乎是多余的。有人可以解释为什么这是可取的,如果真的有必要吗?
请注意,这是我写过的第一个 gem,所以我对这一切都很陌生。
.gemspec 依赖项告诉 rubygems 在用户安装您的 gem 时需要抓取什么来解决依赖项。Gemfile 用于在您开发gem 时管理依赖项。Rubygems 和 Bundler 没有连接,至少现在还没有。
gemspec 是构建 gem 所必需的。Gemfile 更加方便,因此使用您的 gem 的人可以通过 Bundler 轻松提取所有依赖项。如果您同时开发多个相关的 gem,您可能还希望将 git 源代码放在 Gemfile 中,以便可以测试所有 HEAD 版本。