欢迎!请查看关于页面以了解更多关于如何使用本站的信息。
以下是我的一般问题陈述(这也适用于单代管仓库)
deps.edn
~/.clojure/deps.edn
:override-deps
:default-deps
第一条和第二条功能通过CLI/t.d.a.得到支持,但找不到多个项目标准化片段的挂载点。
目前,希望实现第三条的人正在使用CLJ_CONFIG来提供一个团队标准的deps.edn文件,但在这个过程中丢失了第一条。这被认为是一种折衷方案(尽管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
需要共享的内容是否仅限于别名?
还是包括依赖项(deps)?如果是后者,这些依赖项是否仅限于外部依赖项,还是也包括共享项目中的本地依赖项?