emacs+clojure的安装配置(win7)

来源:互联网 发布:村淘宝网 编辑:程序博客网 时间:2024/05/18 01:55

1.首先,本人不是程序员,只是业余爱好,如有错误请指正。


2请注意:如果你从http://clojure.org/自己下载了clojure,想把它和emacs连在一起用,是有问题的。我用emacs中“M+x  shell”调用此clojure.bat文件,出现=user>提示符,但无法交互(Read-Evaluate-Print-Loop)既repl。最初的想法就是:emacs+clojure-mode+clojure(自己先下载的),如果这样不就是最理想的吗?搞不懂设计clojure的为什么不搞一个简单的IDE。(重新尝试在emacs中“m-x shell”  路径\...\clojure.bat可以成功加载clojure。可以交互,但没有任何语法提示等功能,纯粹的shell而已。)


3实际选择有两种:

          1):emacs+clojure-mode+slime(用户端)----------swank-clojur(服务端)+Leiningen(用lein.bat安装swank-clojure,可能需要maven)

          2):emacs+clojure-mode+nrepl(用户端)-----------nREPL(服务端)+ Leiningen(用lein.bat安装nREPL(注意不同于小写的nrepl),可能需要maven) 

因为两种方法类似,并且swank-clojure已停止更新,故选择nrepl----nREPL模式替代slime+swank-clojure模式。


4需要:clojure-mode,nrepl, nREPL, Leiningen,maven(可能要)共5个。


5操作步骤: 

          1)安装clojure-mode(最新版1.11.5)和nrepl(日期20121218)(有不同方法安装,此法比较简单,emacs版本为24)

                在emacs的~/.emacs文件中加入包管理文件:elpa,melpa(clojure-mode和nrepl都在此网站,并且版本最新,其他两个网站随你选则),marmalade。

                添加如下:

                            ;; Add the Package Archive
(require 'package)
(add-to-list 'package-archives
'("elpa" . "http://tromey.com/elpa/") t)
(add-to-list 'package-archives
'("marmalade" . "http://marmalade-repo.org/packages/") t)
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)
(package-initialize)

                 注意:括号后的‘t’不要少,否则无法连接成功。

                重启emacs键入:"m-x package-list-packages" 会链接到各网站,并出现列表。将光标移动到clojure-mode前,按“i”(即选中),然后按“x”(既执行下载并安装到~/.eamcs.d/elpa/文件夹下。"d“为标注卸载,按“x”可删除,“r”为刷新列表,自己直接手动删除也可)。nrepl的安装是一样的。到此emacs端已完成。

        2)服务端nREPL(大写的)+lein安装(比较痛苦)

            下maven3.04(网址:http://maven.apache.org/docs/3.0.4/release-notes.html),解压即可。修改windows环境变量M2 :~\maven\bin的目录,M2_HOME::~\maven和路径PATH: %M2% 。

         按网址(后面所列)做一个5分钟maven安装测试,搞定即可。(http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html)

             下载lein.bat(windows用的,网址:http://leiningen.org/) 修改bat文件里 LEIN_HOME和 LEIN_JAR变量为lein.bat文件所在目录;修改windows环境变量(与前面同名),在cmd中键入:“lein self-install”安装leiningen-2.0.0-preview10-standalone.jar文件。lein2.0只在administror帐户成功,因为需要maven在administror的~/.m2/目录?(需要研究)。~/.m2/里有leinnewnew,tool.nrepl(nREPL服务端)和clojure1.2.0.jar(低版本,这才是需要的clojure解释器)等文件(用lein安装nREPL后出现)此为最最痛苦的:nmd为什么非得管理员帐户?fuck lein and maven!

             安装nREPL(刚开始和nrepl混淆https://github.com/clojure/tools.nrepl),用"lein new  xxx"命令建立一个项目,在xxx的project.clj中:dependency后面粘贴[org.clojure/tools.nrepl "0.2.0-RC1"](注意中括号)。然后“lein deps”  ,“lein install”命令。完成安装nREPL。在~/.m2/目录下会有clojure1.2.0,tools.nrepl,leinnewnew等目录(注意在windows管理员帐户???)。


        3)测试安装:启动emacs------c-x c-f 建立一个空的xxx.clj文件(会自动进入clojure-mode模式,看一下emacs状态栏,没有的话:m-x clojure-mode),然后键入命令:

“m-x nrepl-jack-in” nrepl会自动连接到nREPL服务端,会显示=user>提示符,表示成功。键入clojure命令检验,第一次反应会比较慢。


6问题:lein2.0的安装, maven的".~/m2"目录能否自定义位置?不需要管理员帐户?请高手不吝赐教。2012-12-30

7回答:maven的“~/.m2"目录可以自定义,需要在maven的conf/setting.xml中加入“<localRepository>{你的目录}/.m2/repository</localRepository>”即可2014-10-01

附图swank-clojure(slime为前端swank后端,本文用nrepl+nREPL代替slime+swank-clojure)






       

             

             

原创粉丝点击