有没有更好的方法来解决emacs lib依赖关系?

yeh*_*ehe 1 emacs unit-testing elisp dependency-management ert

当我尝试在emacs项目中运行测试文件时遇到一个问题。

例如,我将此项目克隆到主目录中,将cd 克隆到测试目录中,然后用于emacs -batch -l ert -l nrepl-tests.el -f ert-run-tests-batch-and-exit运行测试。但是找不到文件nrepl.el,该文件不在同一目录中。因此,我将其中一个复制到〜/ nrep.el / test中。但是它说“无法打开加载文件:clojure-mode”。这是我要提出的问题。

我确实有clojure-mode和其他使用nrepl.el的库。但是它们都在不同的目录中(在我的情况下是〜/ emacs.d / packs / live / clojure-pack / lib /)。为了运行测试,是否必须将这些文件复制到克隆的nrepl项目中?是否有更好的方法可以像在IDE中一样运行测试文件。例如,在Intellij中,我只需在测试文件中编写import语句,它就会自动为我准备依赖库。这让我很困扰。我想知道是否有针对此问题的最佳实践。

imm*_*rrr 5

如果我对您的理解正确,那么我会以为Carton正是您想要解决这些依赖问题的对象:软件包维护者应该编写一个小文件,其中包含诸如ert之类的开发依赖包,并通过以下方式运行emacs:carton exec这将确保将所有内容下载到某个目录,并将此目录添加到load-path