无法启动或重新安装 Quicklisp:ASDF/FIND-SYSTEM::STAMP undefined

Can not launch or re-install Quicklisp: ASDF/FIND-SYSTEM::STAMP undefined

我破坏了我的 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.

由于 ASDF 的警告信息,终于搞定了,正在尝试安装 roswell 实用程序:

Install Script for sbcl-bin... WARNING: You are using ASDF version 3.3.1 (probably from (require "asdf") or loaded by quicklisp) and have an older version of ASDF 3.2.1 registered at #P"/home/vince/bacasable/portacle/build/asdf/asdf.asd". Having an ASDF installed and registered is the normal way of configuring ASDF to upgrade itself, and having an old version registered is a configuration error. ASDF will ignore this configured system rather than downgrade itself. In the future, you may want to either: (a) upgrade this configured ASDF to a newer version, (b) install a newer ASDF and register it in front of the former in your configuration, or (c) uninstall or unregister this and any other old version of ASDF from your configuration. Note that the older ASDF might be registered implicitly through configuration inherited from your system installation, in which case you might have to specify :ignore-inherited-configuration in your in your ~/.config/common-lisp/source-registry.conf or other source-registry configuration file, environment variable or lisp parameter. Indeed, a likely offender is an obsolete version of the cl-asdf debian or ubuntu package, that you might want to upgrade (if a recent enough version is available) or else remove altogether (since most implementations ship with a recent asdf); if you lack the system administration rights to upgrade or remove this package, then you might indeed want to either install and register a more recent version, or use :ignore-inherited-configuration to avoid registering the old one. Please consult ASDF documentation and/or experts.

原来是因为Portacle的构建,我删掉了,现在好了。 ~~虽然我不知道为什么它会干扰我~~我的 .sbclrc 中的 (pushnew "~/bacasable/" asdf:*central-registry* :test #'equal) 太宽泛了(但似乎我已经将这一行的 pb 注释掉了......)。

所以寻找解决方案是:尝试安装 roswell 实用程序(ros install sbcl-bin),查看您有 asdf.lisp 个文件的位置(带有 locate),并遵循 ASDF 警告.

感谢 ASDF 的警告!