私が今やっていることは、project.cljを開いて、そこに依存関係を追加し、lein deps
replを再起動し、次にuse
、require
など。
問題は、起動時間が遅く、ファイルを再度リロードする必要があるため、私はreplを再起動したくないということです。
それで、leinプロジェクトに依存関係を追加するより良い方法はありますか? replを再起動せずに?
動的クラスパスローダーと依存関係リゾルバーである Alembic を使用できます。良い点は、すべてのザクロの依存関係を読み込まないことです。
以下を.lein/profiles.clj
に追加してください:
{:user
{:dependencies [[alembic "0.3.2"]]}}
次に、Replで必要なクラスパスをロードするだけで、lein
if needによってリポジトリからプルされます。
(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の起動時間(私が同意するのは少し辛いことです)に5秒かかります。これは、ファイルのロードで必要な初期化がすべて行われる状態にプロジェクトを維持するのに役立ちます。