在不重新启动REPL的情况下向lein项目添加依赖的任何方法



我现在做的是开放项目。运行lein deps restart repl,然后运行use, require等等。

问题是,我真的不喜欢重新启动repl,因为启动时间很慢,我必须重新加载我的文件。

那么有没有更好的方法来添加依赖到lein项目?不重新启动repl?

您可以使用动态类路径加载器和依赖项解析器Alembic。好的是它不会加载所有的石榴依赖项。

将以下内容添加到您的.lein/profiles.clj:

{:user
  {:dependencies [[alembic "0.3.2"]]}}

然后在Repl中加载你需要的类路径,如果需要,它们将通过lein从存储库中拉出来:

(require 'alembic.still)
(alembic.still/distill '[enlive "1.1.5"])

(require 'net.cgrand.enlive-html)现在可以工作了

对于快速测试,您可以使用石榴来动态添加依赖项

=> (use '[cemerick.pomegranate :only (add-dependencies)])
nil
=> (add-dependencies :coordinates '[[incanter "1.2.3"]])

实际添加依赖时,我通常按

  • Alt-x nrepl-restart
  • ctrl-cctrl-k重新加载文件,
  • ctrl-calt-n返回到缓冲区中的命名空间i

整个过程需要jvm启动时间(我同意这有点痛苦)加上5秒。它有助于将项目保持在加载文件完成所有所需初始化的状态。

最新更新