【发布时间】:2025-12-09 09:40:01
【问题描述】:
在 clojurescript 项目中,我希望 leiningen 在我们的 CI 构建期间减少对互联网连接的依赖。我希望让它缓存网络磁盘上的包(使用:local-repo 设置创建“共享缓存”),然后将其添加为存储库,使其首先从那里获取并且仅从 在“共享缓存”中找不到 clojars 和其他外部站点。
我阅读了this,删除了我的~/.m2 文件夹,并将以下内容添加到我的project.clj:
:profiles {:local-cache
{:local-repo "/shared/disc/clojars-cache"
:repositories {"local" {:uri "file:///shared/disc/clojars-cache"
:releases {:checksum :ignore}}}}}
使用lein with-profile +local-cache cljsbuild 的初始构建确实填充了缓存,但是
- 我的
~/.m2/repository文件夹被重新创建并填充了一些东西,虽然它似乎只是 leiningen 需要的 clojure 东西,并且 - 删除
~/.m2后,后续重建似乎根本不使用本地存储库,而是从 clojars 下载。
显然我遗漏了一些东西......或者我可能以完全错误的方式处理这个问题。
简而言之,我怎样才能让 leiningen 到
- 在网络磁盘上创建包缓存,并
- 让它更喜欢这个缓存作为包的来源(而不是像 clojars 这样的外部来源)?
【问题讨论】:
标签: caching clojure clojurescript leiningen