欢迎!请参阅 关于 页面以获取更多关于如何使用本站的信息。
以下是我的一般问题声明(这适用于 monorepo)
deps.edn
~/.clojure/deps.edn
:override-deps
:default-deps
项目管理员 1. 和 2. 由 CLI/t.d.a. 支持,但没有地方来挂载多项目标准化部分。
目前,想要 3. 的人正在使用 CLJ_CONFIG 来提供团队标准的 deps.edn 文件,但在过程中丢失了 1.。这被认为是一种有点巧妙的手段(尽管 CLJ_CONFIG 有文档记录)。
CLJ_CONFIG
Michiel Borkent 指出,他的 clj-kondo 工具在如何读取配置数据方面面临了类似的问题,他的解决方案是提供一个命令行参数,该参数指定了要读取的多个配置文件。可以采用类似的策略,使用 Clojure CLI 允许多个 deps.edn 文件被合并(在系统 + 用户级别之前和命令行 -Sdeps 数据之后)。
clj-kondo
-Sdeps
当前的“系统 + 用户 + 项目 + 命令行”逻辑已经嵌入到 tools.deps.alpha 本身,所以这不仅仅是一个 CLI 脚本更改,并且遵循这个方式来解决该问题需要提供给需要进行基于用户特定别名的 deps.edn 环境分析的工具(如这里讨论的https://ask.clojure.org/index.php/9848/tooling-based-tools-alpha-construct-basis-specified-aliases),
tools.deps.alpha
哎呀,我提交了这个jira跟踪,但忘记了在这里添加链接:https://clojure.atlassian.net/projects/TDEPS/issues/TDEPS-174
我对这个问题有后续问题。对于“共享”的东西——共享一组依赖还是一组依赖 版本(类似于 Maven/Lein 依赖管理)是件重要的事情?
在后一种情况下,指定版本将不会像在 deps.edn 中的 :deps 一样包括依赖——它们仍然需要由项目包含,但可以只具有 nil 坐标和填充了默认版本的版本。
:deps
需要共享的东西只有别名吗?
还是也包括依赖?如果是后者,这些依赖是否仅限于外部依赖,或者它们也包括了共享项目的本地依赖集?