Common lisp 无法将quicklisp与clozure cl一起使用

Common lisp 无法将quicklisp与clozure cl一起使用,common-lisp,quicklisp,asdf,clozure-cl,Common Lisp,Quicklisp,Asdf,Clozure Cl,在使用SBCL时,通常我想尝试CCL进行一些测试,并通过homebrew在我的计算机上安装它。这很好,但我无法将quicklisp与CCL一起使用。如果我尝试加载quicklisp的setup.lisp,我会收到以下错误消息: ➜ ~ ccl64 Clozure Common Lisp Version 1.11.6 DarwinX8664 For more information about CCL, please see http://ccl.clozure.com. CCL is f

在使用
SBCL
时,通常我想尝试
CCL
进行一些测试,并通过
homebrew
在我的计算机上安装它。这很好,但我无法将
quicklisp
CCL
一起使用。如果我尝试加载quicklisp的
setup.lisp
,我会收到以下错误消息:

➜  ~ ccl64
Clozure Common Lisp Version 1.11.6  DarwinX8664

For more information about CCL, please see http://ccl.clozure.com.

CCL is free software.  It is distributed under the terms of the Apache
Licence, Version 2.0.
? (require 'asdf)
ASDF
("uiop" "UIOP" "asdf" "ASDF")
? (load "~/quicklisp/setup.lisp")                        
> Error: There is no package named "ASDF/SYSTEM-REGISTRY" .
> While executing: CCL::%FASL-NVPACKAGE, in process listener(1).
> Type :GO to continue, :POP to abort, :R for a list of available restarts.
> If continued: Retry finding package with name "ASDF/SYSTEM-REGISTRY".
> Type :? for other options.
1 > :POP
我在网上找不到一个简单的解决方案
CCL
ASDF
一起提供,因为
(要求ASDF)
正在工作。在quicklisp的文档中,我找不到任何关于并行使用两个lisp实现的额外工作的信息

如果我按照建议检查ASDF的版本,我会得到
“3.1.5”
作为安装版本,它应该是最新的


有什么明显的遗漏吗?

我想我找到了:我的
~/.cache
目录中有一些旧数据,是另一次尝试安装
ccl
时丢失的。删除后,我可以加载quicklisp的
setup.lisp
,而不会出现任何错误


请建议我是否应该删除我的问题或将其留在这里,以防止其他人重复我的错误。

我想我找到了它:我的
~/.cache
目录中有一些旧数据,是另一次尝试安装
ccl
时得到的。删除后,我可以加载quicklisp的
setup.lisp
,而不会出现任何错误


请告知我是否应该删除我的问题或将其留在这里,以防止其他人重复我的错误。

请注意,各种Lisp都有一些启动文件。其中一些默认为:

  • SBCL:~/.sbclrc
  • CLISP:~/.clisprc.lisp
  • Clozure:~/.ccl-init.lisp
来自CCL的:

默认情况下,Clozure CL将在主目录中查找名为ccl-init.lisp的文件,并在启动时加载该文件。在Unix系统上,它还将查找.ccl-init.lisp

CCL使用一个名为CCL-init.lisp的普通lisp文件,在unix系统上,该文件通常放在主路径上。因此,您可以在该文件中添加以下行(在我的Ubuntu机器上,它的路径是/home/me/.ccl init.lisp),它指示ccl在启动时加载quicklisp:

#-quicklisp
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
                                       (user-homedir-pathname))))
  (when (probe-file quicklisp-init)
    (load quicklisp-init)))

这足以使CCL与quicklisp通信

请注意,各种Lisp都有一些启动文件。其中一些默认为:

  • SBCL:~/.sbclrc
  • CLISP:~/.clisprc.lisp
  • Clozure:~/.ccl-init.lisp
来自CCL的:

默认情况下,Clozure CL将在主目录中查找名为ccl-init.lisp的文件,并在启动时加载该文件。在Unix系统上,它还将查找.ccl-init.lisp

CCL使用一个名为CCL-init.lisp的普通lisp文件,在unix系统上,该文件通常放在主路径上。因此,您可以在该文件中添加以下行(在我的Ubuntu机器上,它的路径是/home/me/.ccl init.lisp),它指示ccl在启动时加载quicklisp:

#-quicklisp
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
                                       (user-homedir-pathname))))
  (when (probe-file quicklisp-init)
    (load quicklisp-init)))

这足以使CCL与quicklisp通信

谢谢你的回答!正如我在回答中所写,问题不是加载quicklisp本身,而是加载ASDF之后的过程。谢谢您的回答!正如我在回答中所写,问题不是加载quicklisp本身,而是加载ASDF之后的过程。