2013-05-06 7 views
15

私はClojureを学び、Rubyの背景から来ています。プロジェクトを作成せずにleiningenを使ってライブラリをインストールする

私はgem install <library>のようなものをお探ししています。 lein installのさまざまな呪文はこの法案に適合していないようです。

ライブラリをローカルにインストールするだけで、プロジェクトを作成せずにREPLで参照できるようにする方法はありますか?

答えて

6

leinでライブラリをインストールしたいと思うようです。ここでpluginで、それをインストールし、

lein localrepo install <filename> <[groupId/]artifactId> <version> 
3

Javaのように使用ので、Clojureのがグローバルにインストールされたライブラリのアイデアを持って一般ません。依存関係の最小限のセットで常にクラスパスを作成する必要があります。何とかこのクラスパスを指定して管理する必要があります。これを行う最も簡単な方法は、プロジェクトが必要なleiningenを使用することです。

leiningenは、リモートライブラリを取得してローカルリポジトリに配置するプロセスを自動化しますが、これはgem installと似ていますが、これらのライブラリはREPLに自動的には使用できません。

ライブラリを常に利用可能にする最も簡単な方法は、新しいプロジェクトを開始する前にREPL実験に使用する 'スクラッチ'プロジェクトを作成することです。あまりオーバーヘッドではありません。インストールしたいパッケージとprofiles.clj更新できレイン2では

3

:レインと任意のプロジェクトの最初の実行で

~\user\.lein\profiles.clj 

を、地元のレポは、プロファイルにincereasedたもので更新されます。 clj。

時々私はちょうどプロジェクトフォルダに入れないでlein depsを実行します、これはローカルリポジトリをあなたのために更新します。

こうすることで、任意のライブラリをproject.cljに追加したり、replから呼び出すことができます。これにより、ローカルリポジトリから抽出されます。

6

REPLにライブラリをロードするだけであれば、alembicを使用することを検討してください。動的にクラスパスをロードし、依存関係を解決し、ライブラリを自動的にリポジトリから取得します。ここで

は、ユースケースである:

(require 'alembic.still) 
(alembic.still/distill '[enlive "1.1.1"]) 

それは単にあなたの.lein/project.cljに次のエントリを追加する必要があります:

{:dev {:dependencies [[alembic "0.1.1"]]}} 

this answerを参照してください。

関連する問題