在日常工作学习中,我们大量使用项目级别的deps.edn
文件中的:override-deps
功能(我们使用CLJ_CONFIG
来选中它而不是用户级别的deps.edn
文件)。我们有一个名为:defaults
的别名,它具有一个条目,用于我们想要“管理”的所有依赖项的:override-deps
。
我们的(单)存储库有一个名为versions
的文件夹,包含该项目级别的文件,然后存储库中的每个子项目都有自己的deps.edn
文件,我们在这里指定依赖项,如下所示
selmer {} ; omit :mvn/version "x.y.z"
然后versions/deps.edn
有
:aliases
{:defaults
{:override-deps
{selmer {:mvn/version "1.12.13"}
...}}}
然后在子项目中执行以下操作
CLJ_CONFIG=../versions clojure -A:defaults <whatever else we need>