我是cl的新手,我刚学会使用asdf-install安装软件包,但我不知道它是如何工作的,我不知道如何可以手动安装软件包,然后我就能理解文件的使用了在源代码的根目录中,谢谢。
答案 0 :(得分:18)
简短回答:只需使用quicklisp。
答案很长:如果你想了解这个包,或者更确切地说 - ASDF系统是如何布局的,这是一个好主意。实际上,这没什么难的。
每个ASDF系统都应该有一个扩展名为.asd
的系统定义文件。此文件命名系统的其他文件及其相对于.asd文件的路径,其类型(默认情况下为:lisp源代码)和依赖项。您的Lisp应该知道在哪里可以找到系统定义文件。在ASDF中,有两种方法可以通知Lisp:将存储文件或符号链接的目录添加到asdf:*central-registry*
列表或设置特殊配置文件(称为source-registry - 更多关于ASDF manual)。
现在,如果您想手动安装系统,只需下载其源代码,将其解压缩到某个目录(例如/home/user/lib/lisp/
中 - 您可能会/home/user/lib/lisp/cl-ppcre-2.3.1/
,其中有cl-ppcre.asd
)。让你的Lisp只是(push "/home/user/lib/lisp/cl-ppcre-2.3.1/" asdf:*central-registry*)
找到它(并且不要忘记尾随斜杠 - 它是必需的),然后你可以用(asdf:oos 'asdf:load-op :cl-ppcre)
加载系统。
您还可以设置一个特殊的目录,您可以在其中对现有系统进行符号链接,例如/home/user/.lisp/
,并将其添加到Lisp启动类型的*central-registry*
(例如,在.sbclrc
中)。现在,如果您想暂时覆盖此目录中链接的某些系统,例如,使用较新的版本,则无需取消链接任何内容 - 只需将备用系统的路径推送到*central-registry*
。
Quicklisp为您完成所有这些以及更多......