任何方式添加依赖lein项目没有REPL重新启动?
我现在所做的是打开project.clj,在那里添加依赖项,运行lein deps
restart repl,然后use
, require
等等。
事情是,我真的不喜欢重新启动repl,因为启动时间很慢,我不得不重新加载我的文件。
那么是否有更好的方法将依赖添加到lein项目? 不重新启动repl?
您可以使用dynamic类path加载器和依赖关系parsing器Alembic 。 好事是它不会加载所有的石榴依赖。
将以下内容添加到.lein/profiles.clj
:
{:user {:dependencies [[alembic "0.3.2"]]}}
然后在你的Repl中只需要加载你需要的类path,如果需要的话,它们会被lein
从存储库中拉出来:
(require 'alembic.still) (alembic.still/distill '[enlive "1.1.5"])
(require 'net.cgrand.enlive-html)
现在应该工作。
为了快速testing,您可以使用石榴来添加依赖关系
=> (use '[cemerick.pomegranate :only (add-dependencies)]) nil => (add-dependencies :coordinates '[[incanter "1.2.3"]])
为了实际添加依赖我ususally打
- Alt-x nrepl-restart
- ctrl -c ctrl-k重新加载文件,
- ctrl-c alt-n返回缓冲区中的命名空间i
整个过程需要jvm启动时间(我同意这是一个痛苦的触摸)加上五秒钟。 这有助于保持项目处于加载文件不需要初始化的状态。