【问题标题】:Gem specification in Rakefile vs .gemspecRakefile 与 .gemspec 中的 Gem 规范
【发布时间】:2009-11-02 18:49:03
【问题描述】:

我正在使用 NetBeans 作为我的 IDE 创建一个新的 ruby​​ gem。初始项目结构包含一个带有 gem 规范和其他 rake 任务的 Rakefile。

我的问题是,将 gem 规范放在 Rakefile 中与将它放在 .gemspec 文件中有什么区别?在哪里声明规范是否有最佳实践?每个 gem 是否也应该包含一个 gemspec 文件,或者 Rakefile 中的所有内容都足够了吗?

【问题讨论】:

    标签: ruby rubygems rake


    【解决方案1】:

    在你的 Rakefile 中有一个任务来为你构建一个 gem 在大多数情况下是可以的。但是我更喜欢在项目根目录中有一个 gemspec 文件,因为大多数人希望这些设置存在而不是埋在 Rakefile 中。

    就差异而言,Rakefile 将使用 rake 任务在其内联 gemspec 上运行 gem build 命令。 IE。 rake gem:build 或者如果使用 gemspec 你运行命令 gem build .gemspec

    例如 Jeweler,一个使用 Github 创建和管理 Rubygem 项目的助手,将基本规范保存在 Rakefile 中,然后生成一个 gemspec 文件,其中包含来自 .gitignore 的设置以及用于生成 rdoc 的通用默认设置等。

    【讨论】:

    • 是的,我也更喜欢根目录下的独立 .gemspec 文件。更容易理解,在 rake 中我必须搜索信息存储的位置。
    • 不清楚:是否有一个独立的 .gemspec 文件足以运行相关的 Rake 任务,还是有必要将其内容复制到 Rakefile 中?
    • 如果相关 rake 任务需要内联 gemspec 定义,如何保持与 .gemspec 文件同步?
    猜你喜欢
    • 2011-11-09
    • 1970-01-01
    • 2011-08-11
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多