2011-11-05 37 views
4
  1. 我在项目“〜/ projects/{name} /”中用quickproject:make-project做了一个项目。如何删除使用quicklisp quickproject创建的系统?

  2. 我当时并不开心,想重新开始,于是我将目录改名为“〜/ projects/{name} -old /”,并用quickproject:make-project创建了一个新项目初始目录“〜/ projects/{name} /”。

  3. 如果我尝试用ql:quickload加载我的项目,quicklisp会尝试加载旧项目。

如何删除旧的系统,同时保持他们都是老项目文件?

我应该怎么做,而不是重命名第2步中的目录。

回答

3

ASDF中存在一个导致类似问题的错误。您可能可以使用(asdf:clear-system "<name>")进行恢复。如果这不起作用,如果重新启动,事情应该可以正常工作。

+0

简单的重启不起作用。 asdf:clear-system也没有效果,quicklisp仍会尝试加载旧的项目。删除“〜/ projects/{name} -old /”之后,quicklisp会加载正确的项目,但是如果我恢复目录,它就会再次出现同样的问题。我仍然不确定quicklisp在更改目录名称后如何找到旧项目。 – chrm

+2

您的ASDF配置中可能包含(:“/ home/user/projects /”),由于某种原因,ASDF在遍历树时会先选择旧目录。如果是这种情况,请更改.asd文件或将目录移动到树外。 – angus

1

安格斯是正确的,在我的文件〜/的.config /共口齿不清/源registry.conf.d/projects.conf有此项,

(:tree (:home "projects/")) 

和错误的项目得到先挑选。为了防止asdf加载错误的项目,我不得不重命名asd文件。只要改变项目中的包或系统定义,就像我一开始试过的那样,并没有帮助。