我们在工作中严重依赖于项目范围的 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>