저는 SBCL 용 패키지 관리 도구로 quicklisp을 사용하고 있습니다.QuickLisp에 의한 SBCL 시스템 디렉토리에 설치 패키지를 사용하는 방법은 무엇입니까?
그러나 때로는 현재 사용자의 홈 디렉토리에 패키지를 설치하는 것이 편리하지 않은 것으로 나타났습니다 (ql:quickload
). 예를 들어 xml을 설치하기 위해 (ql:quickload "xmls")
을 사용하면 다른 사용자는 사용할 수 없습니다.
더 나쁜 것은 lisp 코드를 스크립트로 실행하고 싶습니다. 내가 (require 'xmls)
사용하는 경우 나는 경우가 해당 패키지를 찾을 수 없기 때문에
#!/usr/bin/sbcl --script
(require 'xmls "..../quicklisp/dists/quicklisp/software/xmls-1.4/xmls")
는, 컴파일러가 작동하지 않습니다 : 나는 quicklisp 설치 패키지를 사용할 때, 나는 같은 불편이 패키지의 절대 경로를 추가해야 --script
옵션을 사용하십시오.
누군가가 내가 같은 시간? 나는이 문제에 대한 좋은 해결책을 알고하지 않습니다
'save-lisp-and-die'를 살펴 보는 것이 좋습니다. 스크립팅에 필요한 모든 패키지가 포함 된 새 코어를 빌드 한 다음 sbcl을 시작할 때 해당 코어를 사용하십시오. 그러면 맨 위의 b/c에서 필수 항목이 필요하지 않습니다.이 항목은 모두 이미 코어에로드되어 있습니다. 저는 이것을 주석으로 넣고 있습니다, b/c 그것은 제목의 질문에 실제로 대답하지 않습니다. 그러나 lisp 스크립트를 작성할 때 사용한 또 다른 접근법입니다. 오! 그리고 #!/usr/bin/env sbcl을 시도해보십시오 - 스크립트; 그건 좀 더 휴대용이야. –