在CLISP中更新到ASDF 3.x.

Leo*_*Leo 4 macos clisp common-lisp asdf

我正在尝试将CLISP 2.49(在Mac OS Sierra上)的ASDF更新到版本3.x. 我现在有ASDF版本2.26.我已经尝试了我在网上找到的所有内容:我按照https://common-lisp.net/project/asdf/中的说明下载了最新版本的ASDF,但是当我评估时(require "asdf"),如手册中所示(https:// common- lisp.net/project/asdf/asdf.html#Upgrading-ASDF)没有任何反应,我仍然有2.26版本.手册还告诉加载文件asdf.lisp,但新版本文件夹中缺少该文件.我发现quicklisp有自己的版本,asdf.lisp并且asdf.fas似乎是正在加载的版本,但我不知道如何用任何新版本替换它们.我现在尝试了很多东西,恐怕我搞砸了系统.

有谁知道如何可靠地逐步升级ASDF到版本> = 3.0?非常感谢.

Far*_*aré 6

1-要从source生成asdf.lisp,请输入makeasdf git checkout.

2- (load (compile-file ...))每次都会重新编译它.您可能只想编译一次,然后覆盖通常使用的fasl.

3-如果你从quicklisp获得asdf,就像我想的那样,只需用你的asdf.lisp 3.2.1替换它过时的〜/ quicklisp/asdf.lisp 2.26,然后在〜/ quicklisp/cache /中删除缓存

4-请向Xach投诉将asdf升级到3.1.7或3.2.1.通过分发2.26,Quicklisp正在为lispers做一个伤害.


小智 2

asdf 本身是可自我更新的。您只需加载最新版本。

http://paste.lisp.org/display/350703

所以基本上,你在某个地方下载了一个 asdf 3,~/rc/asdf.lisp 然后在你的文件中~/.clisprc.lisp输入:

(load #P"~/quicklisp/setup.lisp")        ; will load asdf 2.26
(load (compile-file #P"~/rc/asdf.lisp")) ; will load asdf 3 over asdf 2.26.
Run Code Online (Sandbox Code Playgroud)