2011-12-09 3 views

답변

17

짧은 대답 : 그냥 quicklisp을 사용하십시오.

긴 대답 : 당신이 이해하고 싶다면 패키지, 또는 더 정확하게는 ASDF 시스템이 어떻게 배치되어 있는지, 좋은 생각입니다. 사실, 그것에 관해서는 아무것도 힘듭니다.

모든 ASDF 시스템에는 .asd 확장명의 시스템 정의 파일이 있어야합니다. 이 파일은 시스템의 다른 파일의 이름을 .asd 파일에 상대적인 경로, 유형 (기본값 : lisp 소스 코드) 및 종속성으로 지정합니다. Lisp은 시스템 정의 파일의 위치를 ​​알아야한다. ASDF에는 Lisp에 알려주는 두 가지 방법이 있습니다 : 파일이나 심볼릭 링크를 저장하는 디렉토리를 asdf:*central-registry* 목록에 추가하거나 특별한 설정 파일 (source-registry - 자세한 내용은 ASDF manual)을 설정하십시오.

이제 손으로 시스템을 설치하려면 해당 소스를 다운로드하여 일부 디렉토리 (예 : /home/user/lib/lisp/ - /home/user/lib/lisp/cl-ppcre-2.3.1/, 그 안에 cl-ppcre.asd이 있음)로 추출하십시오. Lisp가 단지 (push "/home/user/lib/lisp/cl-ppcre-2.3.1/" asdf:*central-registry*)에 대해 알 수 있도록 (그리고 반드시 후미 슬래시를 잊어서는 안된다.) 그리고 나서 (asdf:oos 'asdf:load-op :cl-ppcre)으로 시스템을로드 할 수있다.

당신 수도 또한 설정이 /home/user/.lisp/처럼, 기존 시스템을 심볼릭 링크하고 (예를 들어, .sbclrc에서) 리스프 시작 유형에서 *central-registry*에 추가 할 것입니다 특별한 디렉토리. 이제이 dir에 링크 된 시스템 중 일부를 임시로 덮어 쓰려면 새로운 버전으로 연결을 해제 할 필요가 없습니다. 대체 시스템 경로를 *central-registry*으로 푸시하십시오.

Quicklisp이 모든 것을 할 수 있습니다 ...

관련 문제