Ruby 管理gems之外的Rails依赖关系
除了ruby游戏(bundler做得非常好)之外,我正在寻找管理rails项目外部依赖性的建议/资源/方法。例如,我想添加检查以查看Ruby 管理gems之外的Rails依赖关系,ruby,ruby-on-rails-3,ruby-on-rails-4,bundler,Ruby,Ruby On Rails 3,Ruby On Rails 4,Bundler,除了ruby游戏(bundler做得非常好)之外,我正在寻找管理rails项目外部依赖性的建议/资源/方法。例如,我想添加检查以查看 一些外部二进制文件(例如gdal、python等) 是否设置了某些环境变量(如aws访问密钥等) 今天是圣诞节吗 还有一些 我想到的一件事是,如果这些检查可以添加到bundler中,并且如果缺少或没有其他用户定义的项目依赖项,则显示错误消息,这将是一件好事。我不寻求版本管理或任何花哨的东西。只需添加一些自定义代码检查,以查看是否满足所有依赖项(当然除了gems)
简单的示例代码将非常棒。majioa关于使用rake任务的建议很有意义。您需要以某种方式运行shell命令,rake允许您更自然地将它们集成到Rails应用程序中 我不确定如何连接到
捆绑包中,但可以连接到Rails的rake任务(请参阅)db:create
或db:migrate
是可以挂接的常见初始任务。请参阅作为学习rake的起点
不过,设置机器似乎应该与应用程序本身分开考虑。你以前看过吗?不能用完整的答案来支持它,但我肯定会添加一个覆盖测试来检查环境。如果你与一个经验不足、不知道如何运行测试的人一起工作,那么第1课是“如何运行测试”。你为什么要避免bundler?@NeilSlater我已经有了涵盖该环境的测试用例。但我的想法是“捆绑安装”确实是您要做的第一件事。如果我们可以同时运行更多的依赖项检查,那就太棒了。@majioa从未说过我想避免bundler,只是想检查GemOK之外的更多依赖项,只需将gem控制依赖项放到bunlder,并添加一个rake任务,例如安装
,它将控制您想要的扩展依赖项,包括bundler安装
功能。谢谢你的回答Jim,是的,我已经查看了Chef,只是我觉得用它来检查两个操作系统的依赖关系太过分了。现在,通过答案中的链接创建rake任务更有意义。只需要弄清楚如何在bundler之后执行它们。因为我仍然觉得如果不满足依赖关系,这是捕获这些错误的最简单方法。