我現在所做的是打開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