pip 要件ファイル、ruby gemfile、ノード package.json などに相当する Lisp は何ですか? asdf と quicklisp が適切に使用されているかどうかについては、完全にはわかりません。
4 に答える
まず、piprequirements.txt
は rubygem や node とは大きく異なりますpackage.json
。前者は依存関係のみを指定しますが、後者は依存関係を含むパッケージを記述します。
Pythonpip
も実際には、"eggs" と呼ばれる同様のパッケージ記述形式に依存しています。
rubygem にほぼ直接的に相当するものは ASDF形式 defsystem
で、通常はファイルに配置されます<system-name>.asd
(「システム」は、他の言語でパッケージ、モジュール、またはライブラリと呼ばれるものを表す Lisp の用語です。より詳細な説明については、こちらを参照してください)。
主な違いは次の 2 つです。
ASDF では、システムのビルド (およびロード、テストなど) の方法を指定することもできます (makefile と多少同等です) — 私の知る限り、rubygems やノードにはそのような概念はまったくありません
gem や node とは異なり、ASDF はパッケージをダウンロードしてインストールするメカニズムを提供しません。ここで
quicklisp
出番です — ASDF システムのフェッチを扱います。しかし、ここでの唯一の方法ではありません: 歴史的にql
、ASDF ライブラリをインストールするための他のアプローチがありました。ASDF-Install
clbuild
クロット
ASDF および Quicklisp との関係については、他の回答が適切なアプローチを提供します。
指摘されたものと非常によく似た一般的なlispライブラリを使用できるようになりました.quicklispおよびQlotで利用できます。プロジェクトローカルの依存関係を指定するために使用されます。ruby の bundle と gemfile によく似ています。
Quicklisp バンドル
また、 2015-04-28で導入された、 quicklisp バンドルを使用できます。Quicklispライブラリ バンドルは、Quicklisp からエクスポートされ、Quicklisp を使用せずにロード可能な自己完結型のシステムのセットです。