2
我的下面的代码片段会给SB-INT:SIMPLE-READER-PACKAGE-ERROR; 我知道这是因为包“quicklisp-quickstart”在REPL读取代码时尚未定义;但是软件包IS在“quicklisp.lisp”中定义。如何做普通lisp的动态加载(加载)
如何使下列代码有效? 或者我该如何告诉普通的lisp reader这个包将在动态加载的文件中定义?
* (let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
(user-homedir-pathname))))
(if (probe-file quicklisp-init)
(load quicklisp-init)
(progn
(load "quicklisp.lisp")
(quicklisp-quickstart:install))))
debugger invoked on a SB-INT:SIMPLE-READER-PACKAGE-ERROR in thread
#<THREAD "main thread" RUNNING {100299C6A3}>:
Package QUICKLISP-QUICKSTART does not exist.
Stream: #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {100017F893}>
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT] Exit debugger, returning to top level.
您在安装quicklisp时遇到问题吗?如果不是,那么描述你想要达到的目标以及你采取的步骤会更有意义。如果是,您是否按照https://www.quicklisp.org/beta/分步指南进行操作? – cybevnm
也许'(eval(read-from-string“(quicklisp-quickstart:install)”))'。 – coredump
NB Quicklisp的设置页面显示了一个这样做的例子,它会提供将它添加到您的.sbclrc或等效的启动文件安装... – BRFennPocock