Random Tech Thoughts

The title above is not random

用 ASDF-INSTALL 自带下载安装 Common Lisp 库

以前下载安装 Common Lisp 的库都是手工进行的,其实 ASDF 有个扩展 ASDF-INSTALL 可以自动从网上下载并安装 Common Lisp 的库,而且可以自动解决依赖性问题。

首先最好安装 gpg,安装过程中会通过 gpg 来进行验证。当然你可以选择跳过检查,但是一定要装上,否则安装过程中会因为没有 gpg 而出错。

对 SBCL 的话只需要

(require 'asdf-install)

就可以开始使用了。比如要安装 memoize

(asdf-install:install 'memorize)

ASDF-INSTALL 会首先问你安装到系统还是你的主目录下,之后它自动从网上找到这个库文件,然后下载、安装。安装过程中会提示是否进行验证,编译出错如何处理等问题。完成之后就一切 OK 了。

如果安装在主目录下的话,包文件是放在 ~/.sbcl/site 目录下,所有的 asd 文件都在 ~/.sbcl/systems 目录下建好软链接,把这个 systems 目录设置到 ASDF 的 central-registry 里就可以很方便的使用了。

现在有一个问题,在我这里 ASDF-INSTALL 对有些库并没有自动解决依赖性,不知道为什么。

Comments