2012-06-29 4 views
8

asdfで既知のプロジェクトにローカルプロジェクトを追加したいのですが、asdfがquicklispによってインストールされ設定されているため、*central-registry*は "#P/home/user/quicklisp/quicklisp/"には、.lispファイルが含まれています。 manualはディレクトリへのシンボリックリンクがそれをすると説明しているので、私はそれを行う方法を知らないが、私はquicklispの中で混乱したくない。quicklispで設定されたasdfにローカルプロジェクトを追加する方法

したがって:quicklispによってインストールされ設定されたasdf(QUICKLISPではない)にローカルプロジェクトを追加するにはどうすればよいですか?

答えて

13

Quicklispを使用している場合は、 ~/quicklisp/local-projects/という専用ディレクトリを使用して、他のディレクトリより先にスキャンすることができます。 それを使用するには、プロジェクトまたはシンボリックリンクを挿入するだけです。あなたが本当にASDFを設定したい場合は

(quickproject:make-project "~/quicklisp/local-projects/my-new-website/" 
    :depends-on '(restas parenscrit cl-who)) 

(quickproject:make-project "~/src/lisp/my-cool-gui/" 
    :depends-on '(qt)) 

$ ln -s ~/src/lisp/my-cool-gui ~/quicklisp/local-projects/my-cool-gui 

しかし、 documentationで説明します。あなたはすべてのサブディレクトリをスキャンする場合は、ディレクトリを追加したり、

(:tree "~/src/lisp/") 

にご~/.config/common-lisp/source-registry.conf.d/my-asdf.conf

(:directory "~/src/lisp/my-project-XYZ/") 

たとえばあなたはこれを置くことができます。

5

asdf:*central-registry*は、1つのパスではなく、パス名のリストです。あなたは単に: (push "/path-to-your-project/" asdf:*central-registry*)を行うことができます。 SBCLを使用している場合は、この行を〜/ .sbclrcに追加できます。

+5

マニュアルでは、* central-registry *は推奨されなくなりました。「ASDFを設定するこの古いスタイルは新しいユーザーには推奨されませんが、古いユーザーにはサポートされています」 – postfuturist

3

ASDFマニュアルがSection 3にあります

ASDF 2ので、空自はあなたの システムを見つけた場所を設定するための好ましい方法は、完全にこのマニュアルの独自の 章で説明し、ソース・レジストリ機能です。 Controlling where ASDF searches for systemsを参照してください。

項7 Controlling where ASDF searches for systemsにそれが存在する場合、ソース・レジストリは、システム設定ディレクトリ/etc/common-lisp/source-registry.conf.d/から構成され

あります。

この場所はDebianで利用でき、私が使っているものです。デフォルトでは、DebianはダウンロードしたCLライブラリのソースを/usr/share/common-lisp/sourceに置きます。しかし、私はこの場所がどのようにASDFに知られているかを知ることはできません。 したがって、パス名の付いたファイルをこの場所に追加して、パス名をASDFに知らせることができます。 I

を含む、ファイル、/etc/common-lisp/source-registry.conf.d/04-local.confを追加しました(:木#P "は/ usr/local/share /共通-lispの/ソース/")

をし、今私は、ローカルにダウンロードCLライブラリのソースを置くことができます/usr/local/share/common-lisp/source/にあり、それらはASDLに表示されます。 :treeの構文は、 Configuring ASDF to find your systemsに記述されています。

asdf:* central-registry *は現在償却されています。 Subsection 3.2: Configuring ASDF to find your systems — old styleを参照してください。

関連する問題