Emacs (Cocma Emacs) против Aquamacs для запуска Clojure в Mac OS X

До сих пор я использовал Aquamacs, и мне нужно установить и запустить Clojure, используя SLIME. Я погуглил, чтобы найти способ использовать Clojure на SLIME Aquamacs, но безуспешно.

Вопросы

  1. Можно ли установить Clojure на Aquamacs? Или вы можете догадаться, почему Clojure на Aquamacs не работает?
  2. Это нормально, что Emacs и Aquamacs не могут использовать один и тот же ELPA?
  3. Можно ли использовать ELPA для установки Conjure на Emacs/Aquamacs?
  4. Мне сказали, что можно использовать "lein swank" для запуска в качестве сервера, вы знаете, как это сделать?

Последовательности, которые я пробовал (и половина удалась)

Я попытался с Mac OS X Emacs, и, следуя инструкциям, я смог заставить его работать. Я имею в виду, я мог бы запустить Clojure с SLIME.

Emacs для Mac OS X

Шаг 1) Установите ESK.

  • Git clone и скопируйте все файлы в .emacs.d каталог
  • Добавьте следующий код в .emacs и перезапустить
    (когда
        (нагрузка
         (развернуть имя-файла "~/.emacs.d/package.el"))
      (Пакет инициализации))

Шаг 2) Установите с помощью ELPA

  • Mx package-list-packages для выбора пакетов
  • устанавливать
    • clojure-mode, clojure-test-mode
    • слизь, слизь-репл
    • Суонк-Clojure
  • Mx слизь, чтобы установить clojure
  • Добавьте следующий код в .emacs и перезапустить
;; закрытый режим
(добавить в список "путь загрузки"/Users/smcho/.emacs.d/elpa/clojure-mode-1.7.1")
(требуются автозагрузки clojure-mode)
(добавить в список "путь загрузки"/Users/smcho/.emacs.d/elpa/clojure-test-mode-1.4")
(требуются автозагрузки clojure-test-mode-autoloads)
;; тина;(setq inferior-lisp-program "/Users/smcho/bin/clojure")
(добавить в список "путь загрузки"/Users/smcho/.emacs.d/elpa/slime-20100404")
(требуют 'слизи-автозагрузки)
(добавить в список "путь загрузки"/Users/smcho/.emacs.d/elpa/slime-repl-20100404")
(требуется 'slime-repl-autoloads)
;; Суонк-Clojure
(добавить в список "путь загрузки"/Users/smcho/.emacs.d/elpa/swank-clojure-1.1.0")
(требуется 'slime-repl-autoloads)

Aquamacs

Теперь я мог использовать Clojure на Emacs, я попробовал тот же (или очень похожий) метод, чтобы еще раз запустить Clojure на Aquamacs.

Шаг 1) Установите ESK для Aquamacs

  • Скопируйте файлы в ~/Library/Preference/Aquamacs Emacs
  • Измените "~/Library/Preferences/Aquamacs Emacs/Preferences.el", чтобы добавить следующее
(setq kitfiles-dir (concat (file-name-directory
                    (или (имя-файла-буфера) имя-файла-загрузки)) "/ aquamacs-emacs-starter-kit"))
; настроить наши различные каталоги для загрузки
(add-to-list 'путь загрузки kitfiles-dir)  
(требуется 'init)

Шаг 2) * Выполните тот же шаг, что и раньше, чтобы установить все (одинаковые) пакеты, но "Mx slime" выдает мне следующее сообщение об ошибке. "Определение функции символа недействительно: define-slime-contrib"

ЭЛПА

Я пытался объединить пакеты от Emacs и Aquamacs, но они не объединяются. Я думал, что могу использовать сам ELPA, а не из ESK, чтобы сделать его общим.

Результат был не очень хорошим, так как ELPA не смогла загрузить пакет "Свон-заклинание".

Успех - Запуск Aquamacs/Clojure с "lein swank".

Пожалуйста, обратитесь к этому.

3 ответа

Решение

Aquamacs наиболее определенно работает с Clojure, поскольку автор Clojure использует его. Тем не менее, я использую Emacs, и после того, как вы выполните описанные выше шаги в разделе Emacs, я рекомендую проверить labrepl,

http://github.com/relevance/labrepl

Если у вас нет leiningen, ссылка для его получения и установки приведена в инструкции к файлу labrepl readme. Я обнаружил, что это чрезвычайно полезно, когда впервые узнал, как настроить среду для программирования Clojure. Вы можете разобрать project.clj файл в labrepl и собрать вместе, как это работает довольно легко. Не говоря уже об уроках и обучении во встроенном веб-приложении, которое поставляется с labrepl.

Если вы хотите использовать вместо этого lein swank:

Убедитесь, что вы установили leiningen. В ваших зависимостях dev.clj для проекта вы хотите иметь такую ​​запись:

[leiningen/lein-swank "1.1.0"]

http://clojars.org/leiningen/lein-swank

Затем, после того как вы сделали lein deps ты должен быть в состоянии бежать lein swank а затем изнутри Emacs запустить M-x slime-connect и просто нажмите Enter через значения по умолчанию.

Если вы собираетесь пойти по этому пути, вот ссылка непосредственно на leiningen, чтобы вы могли пропустить хранилище labrepl: http://github.com/technomancy/leiningen

Я обнаружил, что это самая простая установка для последней версии всего. Вот краткое резюме, где я предполагаю, что вы установили leiningen.

Установите плагин swank-clojure

$ lein plugin install swank-clojure 1.3.2

Создайте свой закрытый проект

$ lein new test-project
$ cd test-project
$ lein deps

Затем откройте один из файлов clojure из вашего проекта в emacs и запустите clojure-jack-in

M-x clojure-jack-in

Теперь вы находитесь в буфере слизи с clojure и загружены зависимости для вашего проекта.

Пол Барри читает лекцию о том, как использовать Aquamacs и Clojure.

Это просто, так как вы можете добавить этот код в .emacs файл,

(add-to-list 'путь загрузки "~/clojure/clojure-mode")
(setq inferior-lisp-program "/Users/smcho/bin/clj")
(требуется 'clojure-mode)
(setq auto-mode-alist
  (cons '("\\.clj\\'" . clojure-mode)
     авто-режим-крен))
(add-hook 'clojure-mode-hook
  (лямбда ()
     (define-key clojure-mode-map "\Cc\Ce" 'lisp-eval-last-sexp)))

Я мог запустить 'Mx clojure-mode' и Cc Cz для REPL.

И, как меня спросили и ответили в Запуск Clojure и других Lisp одновременно на Emacs, я мог бы использовать и Clojure / Lisp на Aquamacs.

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