我用过 水瓶,水瓶 到目前为止,我需要安装并运行 [医]Clojure 使用 鬼口水.我用google搜索了一些方法来在Aquamacs的粘液上使用Clojure,但没有成功。

问题:

  1. 是否可以在Aquamacs上安装Clojure?或者,你能猜到为什么Aquamacs上的Clojure不起作用吗?
  2. Emacs和Aquamacs不能共享相同的是正常的吗 埃尔帕?
  3. 是否可以使用ELPA在Emacs/Aquamacs上安装Conjure?
  4. 我被告知可以使用'lein swank'作为服务器运行,你知道如何做到这一点吗?

我尝试过的序列(并且成功了一半)

我试过了 Mac OS X Emacs的, ,并按照步骤,我可以使其工作。我的意思是,我可以用粘液运行Clojure。

适用于Mac OS X的Emacs

步骤1)安装 埃斯克.

  • Git克隆并将所有文件复制到 .emacs.d 目录
  • 将以下代码添加到 .emacs 并重新启动
    (when
        (load
         (expand-file-name "~/.emacs.d/package.el"))
      (package-initialize))

Step2)使用ELPA安装

  • M-x软件包-列表-选择软件包的软件包
  • 安装/安装
    • clojure-mode,clojure-test-mode
    • 煤泥,煤泥-repl
    • 斯旺克-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)

水瓶,水瓶

现在我可以在Emacs上使用Clojure,我尝试了相同(或非常相似)的方法再次在Aquamacs上运行Clojure。

步骤1)安装 水瓶座的ESK

  • 将文件复制到~/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)

第二步) *按照与之前相同的步骤安装所有(相同)软件包,但"M-x slime"给我以下错误消息。"Symbol的函数定义无效:定义-黏液-contrib"

埃尔帕

我试图结合Emacs和Aquamacs的软件包,但它们没有结合起来。我想我可以用 埃尔帕 本身,而不是从ESK使其共享。

结果并不好,因为ELPA无法下载swank-conjure包。

成功-使用"lein swank"运行Aquamacs/Clojure。

请参阅 .

有帮助吗?

解决方案

Aquamacs绝对适用于Clojure,因为Clojure的作者使用它。但是,我使用Emacs,并且在Emacs部分中执行上述步骤后,我建议查看labrepl,

http://github.com/relevance/labrepl

如果您没有leiningen,获取和安装它的链接在labrepl自述文件的说明中。当我第一次学习如何为Clojure编程设置环境时,我发现它非常有帮助。你可以把 project.clj 文件在labrepl和拼凑它是如何工作很容易。更不用说labrepl自带的内置web应用程序中的课程和培训了。

如果你想用lein swank代替:

确保你已经安装了莱宁根。在你的项目中。clj dev dependencies你想有一个像这样的条目:

[leiningen/lein-swank "1.1.0"]

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

然后在你做完之后 lein deps 你应该能跑了 lein swank 然后从Emacs运行 M-x slime-connect 并通过默认按enter键。

如果你打算走这条路,这里是直接到莱宁根的链接,所以你可以跳过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

然后在emacs中从您的项目中打开一个clojure文件并运行clojure-jack-in

M-x clojure-jack-in

您现在处于slime缓冲区中,其中加载了clojure和项目的依赖项。

保罗*巴里 给出了一个如何使用Aquamacs和Clojure的讲座.

这很简单,因为您可以将此代码添加到 .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',并为REPL运行C-c C-z。

正如被问到和回答的那样 在Emacs上运行Clojure和其他Lisp, ,我可以在Aquamacs上同时使用Clojure/Lisp。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top