我现在所做的是打开project.clj,在那里添加dependency,运行lein deps
restart repl,然后use
,require
等等。如何在不重新启动REPL的情况下将依赖项添加到lein项目中?
事情是,我真的不喜欢重新启动repl,因为启动时间很慢,我不得不重新加载我的文件。
那么有没有更好的方法来将依赖项添加到lein项目中?无需重新启动repl?
我现在所做的是打开project.clj,在那里添加dependency,运行lein deps
restart repl,然后use
,require
等等。如何在不重新启动REPL的情况下将依赖项添加到lein项目中?
事情是,我真的不喜欢重新启动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)
应现在工作。
进行快速测试,您可以使用pomegranate在飞行中
=> (use '[cemerick.pomegranate :only (add-dependencies)])
nil
=> (add-dependencies :coordinates '[[incanter "1.2.3"]])
添加依赖于实际添加依赖我后容易打
整个过程需要JVM启动时间(我同意是触摸痛)加五秒钟。它有助于保持项目处于加载文件完成所有需要初始化的状态。
谢谢!这正是我所寻找的 – LoveProgramming 2013-05-07 00:30:11
看起来更棒!谢谢 – LoveProgramming 2013-05-07 00:33:18
哦,哇,写本质上相同的答案时,错过了这一点。 +1。 – 2013-05-07 00:34:40
@Kolja,感谢您发现错字。 – 2016-05-12 17:37:24