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

欢迎!请查阅关于页面了解有关如何工作的更多信息。

+1 投票
tools.deps

目前可以通过 CLJ_CACHE 或 CLJ_CONFIG (以及 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 投票
...