短いバージョン:leinswankを使用してswankサーバーを起動するときにMxslime-connectまたはMxclojure-jack-inを実行するとエラーが発生します。
Ubuntu10.10でemacs24.0.50.1を使用しています。ELPAのemacsに次のパッケージをインストールしました:clojure-mode、paredit、slime、slime-repl
githubからleiningenをインストールしてクラスパスに追加し、実行しました
lein plugin install swank-clojure 1.3.3
。その後、新しいディレクトリ〜/ tmp /を作成し、そこにcdして実行しました。
これで、lein new test-project
すべてが正常にセットアップされたようです。次に、emacsで/tmp/new-project/project.cljを開き、次のように変更しました。
(defproject test-project "1.0.0-SNAPSHOT"
:description "Test Project"
:dependencies [[org.clojure/clojure "1.2.1"]
[org.clojure/clojure-contrib "1.2.0"]]
:dev-dependencies [[swank-clojure "1.3.3"]])
その後、/ tmp / new-projectフォルダーに戻り、実行lein deps
しlein swank
て依存関係をダウンロードし、出力を提供するswankサーバーを起動します。
Connection opened on local port 4005.
emacsに戻ると、swankサーバーに接続するのに問題があります。core.cljファイルを開いて実行しようとしましM-x slime-connect
たが、エラーが発生します。
Symbol's function definition is void: define-slime-contrib
これにより、swankサーバーが実行されていないか、サーバーを表示するために実行する必要のある構成がいくつかあると思います。また、(同じファイルを開き、project.cljを開いて)M-x clojure-jack-in
プロジェクトフォルダーでclojure REPLを開始しようとすると思いますが、次のようになります。
Debugger entered--Lisp error: (error "Could not start swank server: sh: lein: not found
")
signal(error ("Could not start swank server: sh: lein: not found\n"))
error("Could not start swank server: %s" "sh: lein: not found\n")
clojure-jack-in-sentinel(#<process swank> "exited abnormally with code 127\n")
私はemacsパッケージとleinセットアップについてhttp://matthias-schneider.org/docs/clojure-setup/からの指示に従い、 http: //riddell.us/ClojureSwankLeiningenWithEmacsOnLinux.htmlからのテスト構成の指示に従い始めました。 Mxスライム接続でREPLを開くのに問題がありました。
更新:
〜/ tmp / test-projectを削除し、emacsと/.emacs.d/elpa/パッケージをアンインストールし、emacsを再インストールし、clojure-modeとpareditパッケージを再インストールし、〜/.leinを/binにコピーして、パスの問題がないことを確認しました(以前は/.leinまたは/.lein/binをパスに含める必要があるかどうかわからない)。/.lein/bin/swank-clojure
実行してからemacsを開き、project.cljを開いて試してみましM-x slime-connect
た。これにより、ホスト(ローカルのデフォルト)、ポート(4005のデフォルト)が要求され、swankに接続すると、swankとslimeのバージョンが異なる(yまたはn)yの場合、ミニバッファはを与えerror in process filter: Lisp connection closed unexpectedly
ます。実行したターミナルで/.lein/bin/swank-clojure
、次のJavaエラーが表示されます。
exception in read loop
java.lang.NumberFormatException: For input string: " a6"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:470)
at swank.core.protocol$read_swank_message.invoke(protocol.clj:41)
at swank.core.connection$read_from_connection.invoke(connection.clj:59)
at swank.core$read_loop.invoke(core.clj:337)
at swank.swank$connection_serve$fn__1486$fn__1487.invoke(swank.clj:32)
at clojure.lang.AFn.applyToHelper(AFn.java:159)
at clojure.lang.AFn.applyTo(AFn.java:151)
at clojure.core$apply.invoke(core.clj:540)
at swank.swank$connection_serve$fn__1486.doInvoke(swank.clj:29)
at clojure.lang.RestFn.invoke(RestFn.java:397)
at clojure.lang.AFn.run(AFn.java:24)
at java.lang.Thread.run(Thread.java:636)
更新:
解決しました。emacsをアンインストールして、/ elpa /内のパッケージだけでなく、/。emacs.d/をすべて削除する必要がありました。再インストールした後、私はclojure-modeパッケージのみを取得し、slimeまたはslime-replは取得しませんでした。これで、接続しM-x clojure-jack-in
て作業を行う準備ができました。