【问题标题】:How to remove a system which was created with quicklisp quickproject?如何删除使用 quicklisp quickproject 创建的系统?
【发布时间】:2011-12-22 11:07:47
【问题描述】:
  1. 我在目录“~/projects/{name}/”中使用 quickproject:make-project 创建了一个项目。

  2. 我对结果不满意并想重新开始,所以我将目录重命名为“~/projects/{name}-old/”并使用 quickproject:make-project 创建了一个新项目在初始目录“~/projects/{name}/”中。

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

如何删除旧系统,同时将旧项目文件保留在原处?

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

【问题讨论】:

    标签: common-lisp quicklisp


    【解决方案1】:

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

    【讨论】:

    • 简单重启没有效果。 asdf:clear-system 也没有效果,quicklisp 仍然尝试加载旧项目。删除“~/projects/{name}-old/”后,quicklisp 加载了正确的项目,但是如果我恢复目录,它又是同样的问题。我仍然不确定 quicklisp 在更改目录名称后是如何找到旧项目的。
    • 您的 ASDF 配置中可能有 (:tree "/home/user/projects/"),并且由于某种原因,当 ASDF 遍历树时,旧目录会首先被选中。如果是这种情况,请更改 .asd 文件,或将目录移到树外。
    【解决方案2】:

    安格斯是对的,在我的文件~/.config/common-lisp/source-registry.conf.d/projects.conf里面有这个条目,

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-21
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 2015-02-04
      • 1970-01-01
      相关资源
      最近更新 更多