如何以仅安装ruby,rake和rubygems的用户发出单个rake命令来安装所需的所有依赖项的方式指定gem依赖项?在使用GemBuildTask构建gem时是否可以使用相同的依赖关系规范?
答案 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)
答案 2 :(得分:0)
如果您的应用程序打包为gem,您可以将依赖项添加到gemspec中,并且rubygems将在您安装gem时尝试为您安装它们。
有很多方法可以用一些ruby代码制作宝石。最近我开始使用jeweler。
有了它,您可以通过运行rake install
将项目安装为gem。有关如何在其github wiki上执行依赖的一些说明。