没有REPL重启的任何方式添加依赖项lein项目?

Lov*_*ing 45 clojure leiningen

我现在要做的就是打开project.clj,添加依赖那里,运行lein deps重启REPL,那么use,require等等.

问题是我真的不想重新启动repl,因为启动时间很慢,我不得不重新加载我的文件.

那么是否有更好的方法为lein项目添加依赖?没有重新启动repl?

i-b*_*lis 37

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

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

{:user
  {:dependencies [[alembic "0.3.2"]]}}
Run Code Online (Sandbox Code Playgroud)

然后在您的Repl中加载您需要的类路径,如果需要,它们将从存储库中提取lein:

(require 'alembic.still)
(alembic.still/distill '[enlive "1.1.5"])
Run Code Online (Sandbox Code Playgroud)

(require 'net.cgrand.enlive-html) 现在应该工作.


Art*_*ldt 13

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

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

实际上添加一个依赖我通常命中

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

整个过程需要jvm启动时间(我同意这是一个痛苦的触摸)加上五秒钟.它有助于使项目处于加载文件完成所有需要初始化的状态.