如何在没有asdf-install的情况下为常见的lisp安装新软件包

lev*_* li 6 common-lisp asdf

我是cl的新手,我刚刚学会了使用asdf-install安装软件包,但我不知道它是如何工作的,我想知道如何可以手动安装软件包,然后我就能理解root中文件的使用目录的源代码,谢谢.

Vse*_*kin 19

简短的回答:只需使用quicklisp.

答案很长:如果你想了解,包装,或者更确切地说 - ASDF系统是如何布局的,这是一个好主意.实际上,这没什么难的.

每个ASDF系统都应该有一个带.asd扩展名的系统定义文件.此文件命名系统的其他文件及其相对于.asd文件的路径,其类型(默认情况下为:lisp源代码)和依赖项.您的Lisp应该知道在哪里可以找到系统定义文件.在ASDF中,有两种方法可以通知Lisp:添加目录,在其中存储文件或符号链接,asdf:*central-registry*列出或设置特殊配置文件(称为source-registry - 在ASDF手册中有更多内容).

现在,如果你想手动安装系统,只需下载它的源代码,将它们解压缩到某个目录中(比如/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/,并将其添加到*central-registry*Lisp启动类型(例如,在.sbclrc)中.现在,如果你想暂时覆盖这个目录中链接的一些系统,比如使用更新的版本,你不需要取消链接任何东西 - 只需将路径推送到替代系统即可*central-registry*.

Quicklisp为您做了更多......