在我们的工作中,我们非常依赖项目范围的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>