2013-05-31 56 views
1

我试图在emacs项目中运行测试文件时遇到了问题。有没有更好的方法来解决emacs库依赖?

例如,我将this project克隆到我的主目录中,cd进入测试目录,然后使用emacs -batch -l ert -l nrepl-tests.el -f ert-run-tests-batch-and-exit来运行测试。但它找不到不在同一目录中的文件nrepl.el。所以,我复制一个到〜/ nrep.el/test。但它说“无法打开加载文件:clojure模式”。这是我所承认的问题。

我有clojure模式和其他库nrepl.el使用。但他们都在不同的目录中(在我的情况下,〜/ emacs.d/packs/live/clojure-pack/lib /)。我是否必须将这些文件复制到我的克隆nrepl项目中才能运行测试?是否有更好的方式来运行测试文件,就像我们在IDE中执行的那样。例如,在Intellij中,我只是在测试文件中写入导入语句,并自动为我准备依赖库。这让我非常困扰。我想知道是否有这个问题的最佳做法。

+1

您应该使用提供的'Makefile'来运行测试。在这篇文章中,作者为构建正确的“加载路径”做了所有努力。 – lunaryorn

+0

@lunaryorn是的。我忘了Makefile。看来我将不得不学习一些说明。 – yehe

回答

4

如果我的理解正确,我的印象是Carton正是你想要克服这些依赖性问题的原因:程序包维护者需要编写一个包含程序包依赖关系的小文件,包括开发包,比如ert,并通过carton exec运行emacs,这将确保将所有内容下载到某个目录,并将此目录添加到load-path

相关问题