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