到目前为止,我一直使用Aquamacs,现在我需要安装并运行Clojure和SLIME。我通过谷歌搜索了一些方法,在Aquamacs上使用Clojure和SLIME,但是没有成功。
问题:
- 是否有可能在Aquamacs上安装Clojure?或者你能猜出为什么Clojure在Aquamacs上不能正常工作吗?
- Emacs和Aquamacs无法共享相同的ELPA,这是正常的吗?
- 是否可以使用ELPA在Emacs/Aquamacs上安装Conjure?
- 我被告知可以使用'lein swank'作为服务器运行,你知道如何做吗?
我尝试过的步骤(部分成功):
我尝试使用Mac OS X Emacs,通过按照以下步骤,我可以使其正常工作。我的意思是,我可以在SLIME下运行Clojure。
Mac OS X的Emacs
第1步) 安装ESK
- 复制所有文件到
.emacs.d
目录下 - 添加以下代码到
.emacs
文件中并重新启动
(when (load (expand-file-name "~/.emacs.d/package.el")) (package-initialize))
第2步) 使用ELPA安装
- M-x package-list-packages 选择要安装的包
- 安装
- clojure-mode, clojure-test-mode
- slime, slime-repl
- swank-clojure
- M-x slime来安装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)
Aquamacs
现在我可以在Emacs上使用Clojure,我尝试了同样的(或非常相似的)方法来再次在Aquamacs上运行Clojure。
步骤1)安装ESK for 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)
按照之前的步骤安装所有相同的软件包,但是"M-x slime"会出现以下错误消息:"Symbol's function definition is void: define-slime-contrib"ELPA
我试图将Emacs和Aquamacs的软件包组合在一起,但它们无法组合。我以为我可以使用ELPA本身,而不是从ESK共享它。
结果并不好,因为ELPA无法下载swank-conjure软件包。
成功-使用'lein swank'运行Aquamacs/Clojure。
请参考此链接。