2009-06-16 40 views
0

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

回答

4

这其实很容易建立,它安装了一堆宝石的耙子任务:

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 

当然,你可以提取到这一点的方法,并写入指定的依赖更漂亮的方式,但这种应该很好。

+0

我喜欢这样 - 这也是为最终用户安装依赖项的好方法。 – MattK 2009-07-15 19:26:18

0

我认为你现在必须写一个与Gem库交谈的自定义Rake任务。

rip,这个块上的(非常)新孩子可能会让这一切变得更容易,但这是很早的日子。

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

0

如果您的应用程序被打包成宝石,你可以依赖,加入到gemspec和RubyGems的将尝试在安装宝石为您安装它们。

有很多方法可以让一些宝石代码中的宝石。最近我已采取使用jeweler

有了它,您可以通过运行rake install将项目安装为宝石。有关于如何对其github wiki进行依赖的说明。