在执行配方时,我需要使用外部依赖项。我看到两种解决方法:
- 在我的食谱中使用
include_recipe
。在这种情况下,用户可能会因为安装了额外的软件包(或以不同于他想要的方式安装它们)而感到惊讶。 - 将其声明为依赖项,但让用户代码来安装它。在这种情况下,用户将无法立即使用我的食谱,并且将被迫将其
run_list
明确包含在内。
对此有什么看法?对于 Maven 等其他依赖管理系统,依赖项可以有自己的(传递)依赖项,但用户始终可以覆盖其版本或排除它,以便控制所有传递依赖项。不确定 Chef 中是否如此。