Как исправить след в клоуре и слизи

Я тупица, пытаюсь настроить emacs и слизь. Кажется, не существует единственно верного способа сделать это, поэтому я следил за несколькими постами в блоге и надписью swank-clojure и leiningen README.

В основном это работает. Моя проблема в том, что если я пытаюсь выбрать перезагрузку 0 [QUIT] из обратной трассировки, я получаю

'ошибка в фильтре процесса: неверное количество аргументов: ноль, 0'

(Я также вижу предупреждение на "Mx slime-connect" о том, что слизь и червь не совпадают с версиями, но Googling предполагает, что это ожидается).

Это Дебиан Ленни. Я получил слизь через "git clone git://git.boinkor.net/slime.git". Clojure и clojure-contrib - 1.2.0, а swank-clojure - 1.2.1.

Кто-нибудь видел это? Кроме того, есть ли актуальный список совместимых версий всех частей? Большое спасибо.

Редактировать:

Похоже, это, вероятно, эта проблема. Я следовал за тем же сообщением в блоге как OP в той теме.

Редактировать:

Да. Исправлено получение пакетов slime и slime-repl с использованием ELPA.

3 ответа

Решение

Вот обновление для Google: все изменилось со времени предыдущих ответов, и правильный способ запустить swank/slime теперь через clojure-jack-in команда в последних версиях clojure-mode, которая использует соответствующие lein jack-in Команда в последних версиях swank-clojure, С помощью clojure-jack-inвсе зависимости Emacs, кроме clojure-mode автоматически устанавливаются для вас. НЕ устанавливайте slime.el или slime-repl.el вручную, через ELPA или через git.

Не получайте слизь с помощью мерзавца, но используйте ELPA. Смотрите ссылки в моих правках на вопрос.

Экосистема clojure сильно изменилась за последний год, поэтому многие из наиболее связанных учебников делают что-то сложное. вам действительно не нужно создавать clojure/contrib и устанавливать его больше. и Maven2, и leinengen делают это очень хорошо для вас.

Вы можете быть в состоянии встать и закрыться, просто установив lein (из учебника), а затем сделав новый проект. этого достаточно, чтобы держать меня счастливым даже в моих крупных проектах. Вам действительно не нужно устанавливать систему Clojure.

из системы (Ubuntu-10.10), которая никогда не видела clojure до того, как я запустил:

dev:~$ lein new foo
Created new project in: foo
dev:~$ cd foo
dev:~/foo$ ls
    project.clj  README  src  test
dev:~/foo$ lein repl
Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.pom from central
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.pom from central
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.pom from clojure
Transferring 4K from clojure
Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.jar from central
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.jar from central
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.jar from clojure
Transferring 466K from clojure
Copying 2 files to /home/arthur/foo/lib
"REPL started; server listening on localhost:20092."
user=> (+ 1 2 3)

и это все, что вам действительно нужно. получайте удовольствие:) (конечно, есть много больше в экосистеме clojure, хотя нет необходимости действительно спешить в нее)

ps: добавить swank-clojure как зависимость от dev и запустить lein swank а затем слизи-подключения из Emacs

PS: я нажал 'q', чтобы выйти из следов.

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