我使用quicklisp作爲SBCL的包管理工具。如何使用QuickLisp將安裝包用於SBCL的系統目錄?
不過,有時我發現它不是很方便的通過ql:quickload
一個包安裝到當前用戶的主目錄。 (例如,如果我使用(ql:quickload "xmls")
來安裝xmls,其他用戶將無法使用它。)
更糟的是,我想將lisp代碼作爲腳本運行。所以,當我用quicklisp安裝的軟件包,我需要補充的是包的絕對路徑不舒服,如:
#!/usr/bin/sbcl --script
(require 'xmls "..../quicklisp/dists/quicklisp/software/xmls-1.4/xmls")
如果我使用(require 'xmls)
,編譯器將無法工作,因爲如果我不能找到包使用--script
選項。
有誰知道如何解決這個問題,這樣我可以使用--script
和require
在同一時間?
我建議看看'保存lisp和死亡';只需構建一個包含腳本所需的所有軟件包的新內核,然後在啓動sbcl時使用該內核;那麼就不需要在頂部的B/C上它已經加載到核心中了。我把這個作爲一個評論,B/C它並沒有真正回答標題中的問題。但這是我在編寫lisp腳本時使用的另一種方法;哦,並嘗試#!/ usr/bin/env sbcl --script;這是更便攜的 –