Slime Replでプロジェクト名空間の使用方法
質問
LeinをSwankプラグイン、EMAC、Slime、Clojure-Modeでインストールし、Lein Newを使用して新しいプロジェクトを作成しました。プロジェクトClojure-Testを呼びました。次に、clojure_test/src/clojure_test/core.cljをEmacsで開き、このファイル呼び出し中 M-x clojure-jack-in
. 。これにより、スライムウィンドウが開きます。これは正常に機能します。使用を使用してコードをロードできます C-c C-l
, 、プロジェクト名空間を使用して切り替えます C-c M-p
, 、そしてプロジェクトに追加した依存関係を使用します。
問題は、「ユーザー」の名前空間から、プロジェクト自体に名前空間を使用しようとするときに発生します。電話 (use 'clojure-test)
「ユーザー」の名前空間からのスライムの内部は、次のエラーが発生します。
Could not locate clojure_test__init.class or clojure_test.clj on classpath:
[Thrown class java.io.FileNotFoundException]
Clojureがこれらのファイルを検索するのはなぜですか?名前空間は明らかに既にロードされているようです。
C-c M-p
, 、しかし、何らかの理由で、Clojureは、これらの特定のファイルが名前空間を使用するために重要であると考えています。Slimeのベースネームスペースを使用できるように、プロジェクトをセットアップするにはどうすればよいですか?レインはこれを処理することになっているので、私はそれが必要とする情報を与えていませんか?
解決
名前空間「Clojure-Test」は./src/clojure_test.clj(./srcはプロジェクトで変更されない限り、デフォルトでクラスパスにあります。
あなたはそれを入れましたか? src/clojure_test/core.clj
(代わりにns clojure-test.coreが必要です)?
libsのドキュメントを参照してください http://clojure.org/libs