【问题标题】:How to quickly initialize ruby project development environment?如何快速初始化ruby项目开发环境?
【发布时间】:2009-06-16 10:50:20
【问题描述】:

如何指定 gem 依赖项,使仅安装了 ruby​​、rake 和 ruby​​gems 的用户可以发出单个 rake 命令来安装所需的所有依赖项?使用 GemBuildTask 构建 gem 时是否可以使用相同的依赖规范?

【问题讨论】:

    标签: ruby rubygems rake


    【解决方案1】:

    设置一个安装一堆 gem 的 rake 任务实际上很容易:

    task :install_gems do
      require "rubygems"
      require "rubygems/dependency_installer"
    
      installer = Gem::DependencyInstaller.new
    
      [["rack"], ["merb-core", "1.0.12"]].each do |args|
        installer.install(*args)
      end
    end
    

    当然,您可以将其提取到一个方法中并编写一个更漂亮的方式来指定您的依赖项,但这应该会很好。

    【讨论】:

    • 我喜欢这个 - 它也是为最终用户安装依赖项的好方法。
    • 当然,我们正在开发一种在 Rails 3 中更加强大的解决方案,该解决方案也可用于独立应用程序 :)
    【解决方案2】:

    我认为目前您必须编写一个与 Gem 库对话的自定义 rake 任务。

    rip,这个(非常)新来的孩子,可能会让这一切变得更容易,但现在还为时过早。

    但其他人可能有更好的方法......

    【讨论】:

      【解决方案3】:

      如果您的应用被打包为 gem,您可以将依赖项添加到 gemspec 中,并且 ruby​​gems 会在您安装 gem 时尝试为您安装它们。

      有很多方法可以用一些 ruby​​ 代码制作 gem。最近我开始使用jeweler

      使用它,您可以通过运行 rake install 将项目安装为 gem。有一些关于如何在其 github wiki 上进行依赖的说明。

      【讨论】:

        猜你喜欢
        • 2018-12-14
        • 2018-06-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-29
        • 2016-06-30
        • 2023-03-08
        • 2012-09-19
        相关资源
        最近更新 更多