Как исправить след в клоуре и слизи
Я тупица, пытаюсь настроить 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', чтобы выйти из следов.