如何快速初始化ruby项目开发环境?

时间:2009-06-16 10:50:20

标签: ruby rubygems rake

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

3 个答案:

答案 0 :(得分:4)

实际上很容易设置安装一堆宝石的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

当然,你可以将它提取到一个方法中,并编写一个更漂亮的方法来指定你的依赖项,但这应该很有用。

答案 1 :(得分:0)

我认为目前你必须编写一个与Gem库交谈的自定义rake任务。

rip,这个(非常)新的孩子可能会让事情变得更容易,但现在还很早。

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

答案 2 :(得分:0)

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

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

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