Настройка emacs / slime / swank для закрытия с помощью leiningen

Краткая версия: ошибки при запуске M-x slime-connect или M-x clojure-jack-in при использовании lein swank для запуска сервера swank.

Я использую emacs 24.0.50.1 в Ubuntu 10.10. Я установил следующие пакеты в emacs из ELPA: clojure-mode, paredit, slime, slime-repl

Я установил leiningen из github и добавил его в путь к классам, затем запустил плагин lein установить swank-clojure 1.3.3 . После этого я создал новый каталог ~ / tmp /, cd в него и запустил: lein new test-project , который, похоже, все настроил нормально. Затем я открыл /tmp/new-project/project.clj в emacs и изменил его на:

(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 и запустить Mx slime-connect , который выдает ошибку:

Symbol's function definition is void: define-slime-contrib

Что заставляет меня думать, что он либо не видит запущенный шикарный сервер, либо есть некоторая конфигурация, которая требует нужно сделать, чтобы он видел сервер. Я также пробовал (с тем же открытым файлом и с открытым project.clj) Mx clojure-jack-in , который, как я полагаю, пытается запустить закрытие 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(# "exited abnormally with code 127\n")

Я следовал указаниям http: // matthias-schneider.org / docs / clojure-setup / для пакетов emacs и установки lein, затем начал следовать инструкциям по тестовой конфигурации из http://riddell.us/ClojureSwankLeiningenWithEmacsOnLinux.html , как только у меня возникли проблемы с получением Mx slime-connect, чтобы открыть REPL.

Обновление :

удалил ~ / tmp / test-project, удалил пакеты emacs и /.emacs.d/elpa/, переустановил emacs, переустановил пакеты clojure-mode и paredit, скопировал ~ / .lein в / bin, чтобы убедиться в отсутствии проблем с путями (не был уверен, что /.lein или /.lein/bin должны быть в пути). Ran /. Lein / bin / swank-clojure , а затем открыл emacs, открыл проект.clj и попробовал Mx slime-connect , который теперь запрашивает у меня хост (локальное значение по умолчанию ), порт (по умолчанию 4005), сообщает о подключении к swank, выдает сообщение о версиях swank и slime, различающихся (y или n) y, затем минибуфер выдает ошибку в фильтре процесса: Lisp-соединение неожиданно закрыто . В терминале, где я запускал /. 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 и удалить ВСЕ из /.emacs.d/, а не только пакеты в / elpa /. После переустановки я получил только пакет clojure-mode, а не slime или slime-repl. Теперь можно подключиться к M-x clojure-jack-in , и я готов поработать!

6
задан element8 25 October 2011 в 03:57
поделиться