1

我有一个在 Mac OSX 10.8 上工作的 Clojure-1.4.0 / emacs24 / leiningen-2.0 工具链。按照以下 URL 的说明,我很快就完成了:

http://clojure.org/getting_started
https://github.com/technomancy/leiningen
http://clojure-doc.org/articles/tutorials/emacs.html

我检查它是否有效的一种方法是我转到项目目录并输入

lein test

它运行我的项目目录中的所有单元测试。我也可以C-c ,在 emacs 中以 clojure-mode 执行此操作,并且它执行相同的操作。伟大的!现在的问题是:所有这些都运行我在其中的 clojure 安装~/clojure-1.4.0,我通过输入看到

lein repl

在项目目录中。我现在有一个新安装的 clojure ~/clojure-1.5.0,我想让 leiningen 和 emacs 指向那个新版本。但是,在设置 leiningen 和 emacs 模式的过程中,我从来没有手动告诉他们在哪里可以找到 clojure 版本。他们发现这神奇而又不透明——事实上,整个过程非常神奇,而且在当时很棒。我想我可以把所有东西都拆掉,然后从头开始重新构建,但这似乎非常低效。我还可以将 1.4 目录中的文件替换为 1.5 目录中的文件。这可能会奏效一次,但它显然是错误的,我真的不想考虑它。我需要以正确的方式执行此操作,以便在下一个版本更新到来时,我可以使工具链尽可能顺利地运行。

我只是从这一切开始,所以我还远远没有掌握这些工具中的任何一个,我会很感激菜鸟级别的建议来保持这一切。

4

1 回答 1

3

./project.clj只需在项目目录中更改 clojure 版本:

:dependencies [... [org.clojure/clojure "1.5.0"] ...]

测试:

$ lein repl

user=> *clojure-version*
{:major 1, :minor 5, :incremental 0, :qualifier nil}

编辑:

他们神奇而又不透明地发现

默认的 clojure 版本内置在 lein 的project.clj模板中,<name>/project.clj当您这样做时,它会呈现到您的文件中lein new <name>

于 2013-03-03T16:15:18.737 回答