Не удается заставить Slime и Swank работать с Clojure в Emacs в OS X

Просто пытаюсь получить очень простую установку слизи и clojure, но swank продолжает терпеть неудачу, когда я запускаю clojure-jack-in

Сначала я получил lein, а затем вставил следующее в мой.emacs (для версии 24.1):

(add-to-list 'load-path "~/.emacs.d/packages/")
(require 'package) 
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/")) 
(package-initialize)

Затем я установил clojure-mode и paredit.

Мой ~/.lein/profiles.clj

{:user {:plugins [[lein-swank "1.4.4"]]
    :injections [(use '[clojure.repl :only [doc]])]}}

Когда я открываю файл clj и запускаю clojure-jack-in, swank дает мне

slime-repl-79b38c83.el:122:1:Error: (slime-connection-output-buffer) is not a valid place expression

2 ответа

Решение

У вас есть слизь, установленная через мармелад или каким-либо другим способом? Если да, то это, вероятно, проблема. swank несовместим с CVS-версией slime и устанавливает собственный пакет slime. (обратите внимание, что вам нужен реплик слизи из мармелада). Проверьте свои ~/.emacs.d/elpa dir, а также соответствующий каталог пакетов системного уровня, чтобы быть уверенным, что у вас нет ошибочной версии.

Если вы уверены, что у вас есть только одна версия slime и что это правильная версия, вы можете попробовать запустить swank из оболочки в каталоге верхнего уровня проекта с помощью

$ lein swank

а затем подключиться к этому экземпляру Суонк из Emacs с M-x slime-connect, если это не работает, вы должны по крайней мере получить дополнительные ошибки, которые проливают свет на вашу проблему

Какую версию lein вы используете? Я считаю, что lein-swank 1.4.4 предназначен для работы с lein2. Если вы используете lein1, вам понадобится lein-swank 1.4.2

Другие вопросы по тегам