2009-06-16 64 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進行依賴的說明。