我打破了我的CL环境。我可以运行sbcl
但我无法重新运行或重新安装Quicklisp(我只是删除了目录~/quicklisp/
并希望重新开始)。我收到以下错误:
* (load #p"~/quicklisp/setup.lisp")
While evaluating the form starting at line 129, column 0
of #P"~/quicklisp/setup.lisp":
debugger invoked on a UNDEFINED-FUNCTION in thread
#<THREAD "main thread" RUNNING {10019B67B3}>:
The function ASDF/FIND-SYSTEM::STAMP<= is undefined.
line 129并没有引起人们的极大兴趣,或者看起来如此。
尝试重新安装Quicklisp。
ASDF版本3.2.1,SBCL 1.3.19。
这可能是什么原因?
或者我怎样完全并正确地重新开始? (考虑隐藏的.fasl文件或其他东西)。
谢谢!
编辑:下载asdf 2.26
* (quicklisp-quickstart:install)
; Fetching #<URL "http://beta.quicklisp.org/client/quicklisp.sexp">
; 0.82KB
==================================================
838 bytes in 0.00 seconds (818.36KB/sec)
; Fetching #<URL "http://beta.quicklisp.org/client/2017-03-06/quicklisp.tar">
; 250.00KB
==================================================
256,000 bytes in 0.09 seconds (2941.18KB/sec)
; Fetching #<URL "http://beta.quicklisp.org/client/2015-09-24/setup.lisp">
; 4.94KB
==================================================
5,054 bytes in 0.00 seconds (0.00KB/sec)
; Fetching #<URL "http://beta.quicklisp.org/asdf/2.26/asdf.lisp">
; 194.07KB
==================================================
198,729 bytes in 0.08 seconds (2553.57KB/sec)While evaluating the form starting at line 129, column 0
of #P"/home/vince/quicklisp/setup.lisp":
debugger invoked on a UNDEFINED-FUNCTION in thread
#<THREAD "main thread" RUNNING {10019B68B3}>:
The function ASDF/FIND-SYSTEM::STAMP<= is undefined.
答案 0 :(得分:0)
最后得到了一个好的ASDF警告消息,试图安装一个roswell实用程序:
为sbcl-bin安装脚本... 警告: 您正在使用ASDF版本3.3.1(可能来自(require“asdf”)或已加载 by quicklisp)并注册了旧版本的ASDF 3.2.1 #P “/home/vince/bacasable/portacle/build/asdf/asdf.asd”。拥有ASDF 安装和注册是配置ASDF升级的常规方法 本身,并且注册旧版本是配置错误。 ASDF 将忽略此配置的系统而不是降级自己。在里面 未来,您可能希望:(a)将此配置的ASDF升级为更新版本 版本,(b)安装较新的ASDF并在前者注册 您的配置,或(c)卸载或取消注册此和任何其他旧的 您的配置中的ASDF版本。请注意,较旧的ASDF可能是 通过从系统继承的配置隐式注册 安装,在这种情况下,您可能需要指定 :在你的in中使用ignore-inherited-configuration 〜/ .config / common-lisp / source-registry.conf或其他source-registry 配置文件,环境变量或lisp参数。确实,很可能 offender是cl-asdf debian或ubuntu包的过时版本, 您可能想要升级(如果有足够的版本可用)或 否则完全删除(因为大多数实现都附带最近的asdf); 如果您缺少升级或删除此系统管理权限 包,那么你可能确实想要安装和注册更多 最新版本,或使用:ignore-inherited-configuration以避免注册 旧的。请咨询ASDF文件和/或专家。
所以这是因为我删除了Portacle的构建,现在它很好。 ~~我不知道为什么它干扰了我虽然~~我的(pushnew "~/bacasable/" asdf:*central-registry* :test #'equal)
中有一个过于宽泛的.sbclrc
(但似乎我把这行注释掉了...)。
所以寻找解决方案的方法是:尝试安装一个roswell实用程序(ros install sbcl-bin),查看asdf.lisp文件(带locate
)的位置,并遵循ASDF警告。
感谢ASDF的好警告!