我试图在我的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
中创建一个文件夹。如前所述,它可以加载在当前会话中创建的项目,但无法在新会话中找到它们。
答案 0 :(得分:3)
(asdf::user-source-registry :direction :output)