2011-11-05 19 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文件。只要改變項目中的包或系統定義,就像我一開始試過的那樣,並沒有幫助。