在Windows 10上安装quicklisp时,我应该在哪里放置〜/ .config / common-lisp / source-registry.conf.d / projects.conf以供ASDF查找?

时间:2018-02-07 23:53:35

标签: windows windows-10 common-lisp quicklisp asdf

我试图在我的Windows 10计算机上运行Common Lisp,但是我遇到了ASDF/(ql:quickload "...")加载项目的问题。我使用以下命令生成给定项目(在创建C:\Users\ig88t\src\lisp文件夹之后):

  

(ql:quickload" quickproject")

     

(quickproject:make-project"〜/ src / lisp / swatchblade /":依赖'(vecto hunchentoot))

正确生成项目,我可以在~/src/lisp/swatchblade查看来源。

但我无法通过

加载它
  

(ql:quickload" swatchblade")

而不是加载,我收到错误说

  

系统" swatchblade"未找到[类型的条件   QUICKLISP-CLIENT:SYSTEM未找到]

我将使用两本手册,一本是Xach wrote,另一本是tailored for Windows。 Xach建议~/.config/common-lisp/source-registry.conf.d/projects.conf,而第二个推荐~/.config/common-lisp/source-registry.conf.d/asdf.conf。我目前正在使用Xach编写的版本,因为它在Linux上为我工作。

the manual for ASDF ~/AppData/Local/似乎.config/common-lisp/source-registry.conf.d/projects.conf是我应该存储~/AppData/Local/config/...的地方。我尝试将其存储在~/AppData/Local/.config/...以及~/AppData/Local/common-lisp无效。我注意到Clozure CL在source-registry.conf.d中安装了一些quicklisp数据,因此我尝试将~/AppData/Local/common-lisp/source-registry.conf.d/projects.conf文件夹放在quickproject中,但它没有用。

我已尝试过将文件夹放在不同位置的许多不同变体,但我还没有设法弄清楚正确的。我非常感谢任何在Windows上使用Common Lisp和Quicklisp的人提供的任何帮助/建议。

我正在使用Clozure CL,1.11.5以及ASDF版本3.1.5附带的wx86cl64二进制文件。如果重要的话。

---编辑---

在与Xach讨论此问题后,我尝试了:

  

(quickproject:make-project"〜/ quicklisp / local-projects / swatch"                                :依赖'(vecto hunchentoot))

然后跑了:

  

(QL:寄存器和本地项目)

但在跑步时:

  

(ql:quickload" swatch")

它再次失败了:

  

系统" swatch"未找到[类型的条件   QUICKLISP-CLIENT:SYSTEM未找到]

他说这可能与快速项目的this PR有关。

---编辑#2 ---

我最近尝试使用SBCL,事情似乎正在发挥作用。我可以使用quickproject创建项目并加载它们。请注意,我无法在CCL下加载使用SBCL创建的项目。但是,当我重新启动slime / emacs时,我无法加载以前在; SLIME 2.20 CL-USER> (ql:quickload "quickproject") To load "quickproject": Load 1 ASDF system: quickproject ; Loading "quickproject" ("quickproject") CL-USER> (quickproject:make-project "~/quicklisp/local-projects/test/" :depends-on '(vecto)) "test" CL-USER> (ql:quickload "test") To load "test": Load 1 ASDF system: test ; Loading "test" [package test] ("test") CL-USER> 下创建的任何项目。

; SLIME 2.20
CL-USER> (ql:quickload "test")
; Evaluation aborted on #<QUICKLISP-CLIENT:SYSTEM-NOT-FOUND {10034555B3}>.
CL-USER> 

---间歇......重新启动史莱姆---

(quickproject:make-project "~/quicklisp/local-projects/test/"
                             :depends-on '(vecto))

所以我不知道可能导致问题或如何解决它的问题,但似乎创建/加载项目永远不会在Clozure CL下工作,只能在SBCL中的当前会话中工作。

---编辑#3 ---

看来我对SBCL错了。看来我跑的时候

C:\Users\ig88t\AppData\Roaming\quicklisp\local-projects

它会在C:\Users\ig88t\quicklisp\local-projects而非1995-03-31,0.141150,0.141150,0.141150,0.141150,0.105375,10000 中创建一个文件夹。如前所述,它可以加载在当前会话中创建的项目,但无法在新会话中找到它们。

1 个答案:

答案 0 :(得分:3)

(asdf::user-source-registry :direction :output)