common-lispquicklisp

Debugger invoked when updating quicklisp


I've sbcl(Steel Bank Common Lisp) installed in my Fedora 38 linux.

I installed quicklisp using below commands some times back from steps mentioned here.

curl -O https://beta.quicklisp.org/quicklisp.lisp
curl -O https://beta.quicklisp.org/quicklisp.lisp.asc
gpg --verify quicklisp.lisp.asc quicklisp.lisp
sbcl --load quicklisp.lisp
(quicklisp-quickstart:install)

It is installed successfully. Now I want to install new version of quicklisp as it is released recently.

I'm trying to do that by using the same commands above but I'm getting below error when using this command (quicklisp-quickstart:install).

(load "quicklisp.lisp") (load "quicklisp.lisp")

==== quicklisp quickstart 2015-01-28 loaded ====

  To continue with installation, evaluate: (quicklisp-quickstart:install)

  For installation options, evaluate: (quicklisp-quickstart:help)

T 0] (quicklisp-quickstart:install) (quicklisp-quickstart:install)

debugger invoked on a SIMPLE-ERROR in thread #<THREAD "main thread" RUNNING {1000510083}>: Quicklisp has already been installed. Load #P"/home/raj/quicklisp/setup.lisp" instead.

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name): 0: [LOAD-SETUP] Load #P"/home/raj/quicklisp/setup.lisp" 1: [ABORT ] Reduce debugger level (to debug level 1). 2: Exit debugger, returning to top level.

(QUICKLISP-QUICKSTART:INSTALL :PATH NIL :PROXY NIL :CLIENT-URL NIL :CLIENT-VERSION NIL :DIST-URL NIL :DIST-VERSION NIL) source: (WITH-SIMPLE-RESTART (LOAD-SETUP "Load ~S" SETUP-FILE) (ERROR "Quicklisp has already been installed. Load ~S instead." SETUP-FILE)) 0[2]

I'm new to lisp and quicklisp. How can I update quicklisp to latest version?


Solution

  • You can evaluate this in the repl:

    (ql:update-dist "quicklisp")
    

    Or you can update quicklisp from the command line:

    $ sbcl --eval '(ql:update-dist "quicklisp")' --eval '(exit)'
    

    I have the latter saved in a shell script that I run whenever I need to update.