Emacs (Cocoa Emacs) против Aquamacs для запуска Clojure в Mac OS X
Вопрос
я использовал Аквамакс пока, и мне нужно установить и запустить Кложур с использованием СЛИЗЬ.Я искал в Google способ использовать Clojure на SLIME of Aquamacs, но безуспешно.
Вопросы
- Можно ли установить Clojure на Aquamacs?Или можете ли вы догадаться, почему Clojure на Aquamacs не работает?
- Это нормально, что Emacs и Aquamacs не могут использовать одно и то же? ЭЛПА?
- Можно ли использовать ELPA для установки Conjure на Emacs/Aquamacs?
- Мне сказали, что можно использовать «lein swank» для работы в качестве сервера. Вы знаете, как это сделать?
Последовательности, которые я пробовал (и половина из них удалась)
Я попробовал с Mac OS X Эмакс, и, следуя инструкциям, я смог заставить его работать.Я имею в виду, что я мог бы запустить Clojure со SLIME.
Emacs для Mac OS X
Шаг 1) Установите ЭСК.
- Git клонируйте и скопируйте все файлы в
.emacs.d
каталог - Добавьте следующий код в
.emacs
и перезапустить
(when (load (expand-file-name "~/.emacs.d/package.el")) (package-initialize))
Шаг 2) Установите с помощью ELPA.
- M-x package-list-packages для выбора пакетов
- Установить
- режим Clojure, режим тестирования Clojure
- слизь, слизь-заменитель
- шикарное закрытие
- M-x слизь для установки Clojure
- Добавьте следующий код в
.emacs
и перезапустить
;; clojure mode (add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/clojure-mode-1.7.1") (require 'clojure-mode-autoloads) (add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/clojure-test-mode-1.4") (require 'clojure-test-mode-autoloads) ;; slime ;(setq inferior-lisp-program "/Users/smcho/bin/clojure") (add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/slime-20100404") (require 'slime-autoloads) (add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/slime-repl-20100404") (require 'slime-repl-autoloads) ;; swank-clojure (add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/swank-clojure-1.1.0") (require 'slime-repl-autoloads)
Аквамакс
Теперь я мог использовать Clojure на Emacs. Я попробовал тот же (или очень похожий) метод еще раз запустить Clojure на Aquamacs.
Шаг 1) Установите ESK для Aquamacs
- Скопируйте файлы в ~/Library/Preference/Aquamacs Emacs.
- Измените «~/Library/Preferences/Aquamacs Emacs/Preferences.el», добавив следующее:
(setq kitfiles-dir (concat (file-name-directory (or (buffer-file-name) load-file-name)) "/aquamacs-emacs-starter-kit")) ; set up our various directories to load (add-to-list 'load-path kitfiles-dir) (require 'init)
Шаг 2) * Следуйте тому же шагу, что и раньше, чтобы установить все (те же) пакеты, но «MX Slime» дает мне следующее сообщение об ошибке.«Определение функции символа недействительно:определить-слайм-внести"
ЭЛПА
Я пробовал объединить пакеты Emacs и Aquamacs, но они не объединяются.Я подумал, что смогу использовать ЭЛПА сам, а не из ЕСК, чтобы сделать его общим.
Результат оказался не очень хорошим, поскольку ELPA не смогла загрузить пакет swank-conjure.
Успех — запуск Aquamacs/Clojure с помощью «lein swank».
Пожалуйста, обратитесь к этот.
Решение
Aquamacs определенно работает с Clojure, поскольку его использует автор Clojure.Однако я использую Emacs, и после того, как вы выполните действия, описанные выше в разделе Emacs, я рекомендую проверить labrepl,
http://github.com/relevance/labrepl
Если у вас нет leiningen, ссылка для его получения и установки находится в инструкциях файла readme labrepl.Я нашел это чрезвычайно полезным, когда впервые узнал, как настроить среду для программирования Clojure.Вы можете разобрать project.clj
файл в labrepl и довольно легко разобраться, как это работает.Не говоря уже об уроках и обучении во встроенном веб-приложении, которое поставляется с labrepl.
Если вы хотите вместо этого использовать Lein Swank:
Убедитесь, что у вас установлен leiningen.В ваших зависимостях разработчика project.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
Другие советы
Я нашел это Самая легкая установка для последней версии всего.Вот быстрое резюме, где я предполагаю, что у вас установлен Лейнинген.
Установите плагин Swank-Clojure
$ lein plugin install swank-clojure 1.3.2
.
Создайте свой проект Clojure
$ lein new test-project
$ cd test-project
$ lein deps
.
Затем откройте один из файлов Clojure из вашего проекта в Emacs и запустить Clojure-jack-in
M-x clojure-jack-in
.
Теперь вы находитесь в слизистом буфере с Clojure и зависимостями для вашего проекта.
Paul Barry Лекция, как использовать Aquamacs и Cljure.
Это просто, как вы можете добавить этот код в файл .emacs
,
(add-to-list 'load-path "~/clojure/clojure-mode") (setq inferior-lisp-program "/Users/smcho/bin/clj") (require 'clojure-mode) (setq auto-mode-alist (cons '("\\.clj\\'" . clojure-mode) auto-mode-alist)) (add-hook 'clojure-mode-hook (lambda () (define-key clojure-mode-map "\C-c\C-e" 'lisp-eval-last-sexp))).
Я мог бы запустить «M-X Clojure-Mode», а C-C C-Z для REPL.
И как просят и отвечает в