2024 Clojure状态调查!中分享你的想法。

欢迎!请参阅关于页面了解该工作的更多详细信息。

0
tools.deps

类似于这个问题https://ask.clojure.org/index.php/7848/transitive-paths-current-project-unspecified-transitive

我不确定如何可靠地重现这个问题,但我遇到了一个从:local/root依赖中未检索到依赖的问题,我的同事找到了相关的提问,这帮助我找到了一个解决方案。

在我的情况下,依赖项目的完整deps如下

{:paths ["src"]}

更改为

{:paths ["src"]
 :deps {}}

可以使问题解决。

我还有另一个具有相同依赖的项目,它对没有依赖的版本很满意。

这是在依赖的依赖中。因此,我有这两种情况

  • 不工作: project-a -> -dependency-1 -> dependency-2-path-only
  • 工作: project-b -> -dependency-1 -> dependency-2-path-only

(“不工作/工作”意味着dependency-2-path-only不在project-a的类路径上,而在project-b的类路径上。)

进一步... dependency-1位于dependency-2-path-only的子目录中。所以在dependency-2-path-only/dependency-1/deps.edn

{:paths ["src"]
 :deps {d2/dependency-2-path-only {:local/root ".."}}}

现在我想起,在描述所有这些之后,我可以创建一个可重现的示例。请告诉我是否需要这样做。

顺便说一句,我现在使用的是1.10.3.967。

1 回答

+2

已选中
 
最佳回答

有时候容易让人困惑的一点是,Clojure 命令行界面不会自动更新本地依赖项的变化 - 您需要使用 clj -Sforce 强制刷新本地依赖项类路径。因此,如果您上述任何修改过本地依赖项的deps.edn,这是一个必要的步骤。如果您在使用-Sforce的情况下仍然遇到问题,我希望您能提供重现步骤。

谢谢!我在强制刷新类路径后无法重现它。
...