2024 年 Clojure 问卷调查!中分享你的想法。

欢迎!请查看关于页面获取一些关于如何工作的信息。

+2
tools.deps
编辑

当在 tools.deps 中使用 local/root 提供商时,如果你能引用你的 user.home,那将会是很好。我在不同机器上共享一个用户级别的配置,这些机器有不同的 home 位置,但我的依赖项都与它相关。

具体来说,这是在我的 REBL 使用中,我将在我的 home 目录下有 Jar 文件,但在不同计算机上有不同的 home 目录,并且我希望不需要为每个之一自定义 deps.edn。

谢谢。

1 答案

+1

到目前为止,我们一直在避免向 deps.edn 添加任何变量或解释,以便它只是纯粹的数据。虽然我不会完全排除这个选项,但那是一个大的权衡。

也许一个建议的替代方案可能是为每个安装编写任何需要的代码,并使该代码查找$HOME或user.home的值,然后将其放入生成的数据中的所需位置?
是的,我很尊重这个观点。我将等待沙滩椅时间。
@Andy 嗯...我可以这么做,但这样一来,我的安装过程就不仅仅是 git pull 了。如果我对某个地方进行了更改,我无法直接 git push,我必须修改安装程序脚本,然后再进行推送。这个过程会变得复杂。

目前,我可能可以使用 https://github.com/gfredericks/user.clj/blob/master/README.md 并实际在运行时使用 pomegranate 动态导入 REBL。
请注意,local/root也支持相对路径。
那么,它是相对什么的?deps.edn 文件?执行 clj 的 shell 的工作目录?
包含 "project" deps.edn 文件的目录。如果它在 ~/.clojure/deps.edn 文件中,那么它相对于 project deps.edn,而不是 ~/.clojure/deps.edn,这意味着除项目 deps.edn 以外的相对目录 intrinsic 上有点奇怪。
...