2024 Clojure 现状调查 中分享您的想法!

欢迎!请在 关于页面 了解更多关于该功能的信息。

+1 投票
tools.deps

当前用户缓存可以通过 CLJ_CACHE 或 CLJ Costume (以及 XDG..) 环境变量来自定义,
但在项目目录内部,路径是由以下 clojure 工具 bash 脚本中的代码设置的:

`

确定是否使用用户或项目缓存

if [[ -f deps.edn ]]; then
cache_dir=.cpcache
else
cache_dir="$user_cache_dir"
fi
`

这实际上使在写保护的文件系统上运行 deps.edn 项目成为不可能。
当前的覆盖方法是通过重命名 deps.edn 并通过例如 "-Sdeps $(cat xdeps.edn)" 来加载它,
使用 CLJ_CACHE 环境变量,这反过来可能会创建其他连锁问题,特别是在像 systemd 这样的引号敏感环境中。

提案:引入可选环境变量,用于项目缓存位置,例如

`

确定是否使用用户或项目缓存

if [[ -f deps.edn ]]; then

if [[ -n "$CLJ_PROJECT_CACHE" ]]; then
  cache_dir="$CLJ_PROJECT_CACHE"
elif [[ -n "$XDG_PROJECT_CACHE" ]]; then
  cache_dir="$XDG_PROJECT_CACHE"
else
  cache_dir=.cpcache
fi

else
cache_dir="$user_cache_dir"
fi
`

2 答案

0 投票

评论者:juskrey

抱歉,找不到该 bash 脚本的代码仓库来源,因此没有附加补丁文件。

0 投票
参考: https://clojure.atlassian.net/browse/TDEPS-119 (由 juskrey 报告)
...