問題タブ [asdf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - Ubuntu Hardyのclispで(:PACKAGEが必要)を使用するにはどうすればよいですか?
ここで提供されている答えを評価しようとしていますが、エラーが発生しています:"A file with name ASDF-INSTALL does not exist"
clispを使用している場合:
cmuclは同様のエラーをスローします:
しかし、sbclは完全に機能します:
これを修正する方法について何かアイデアはありますか?私はインターネットでこの投稿を見つけましたが、それを使用してもうまくいきませんでした。
lisp - Common Lisp プロジェクト用の ASDF ファイルを自動的に作成する
これを行うライブラリはありますか?Common Lisp をいじってみると、これは初心者の参入障壁を下げるのに最も役立つものの 1 つに思えます。ASDF は、ラピッド プロトタイピングや開発用ではなく、主に展開用に設計されているようです。comp.lang.lisp のスレッドをたどると、CL のパッケージ システムは強力であるが、Python の単純なモジュール システムのような使いやすさに欠けていることに人々は同意しているようです。使いやすさではなくパワーのために設計されているという意味で、FAIL です。
私が間違っているかどうかを知ってうれしいです。私が正しければ、ASDF の上に Python モジュールのようなシステムを構築しようとした人が誰もいないことに驚いています。
deployment - ホームおよびサイトの構成に依存しない ASDF またはその他のモジュール システム
実際のアプリケーション開発のベスト プラクティスを見つけようとしています。サードパーティ ライブラリをスタンドアロン パッケージとして展開するように適切に構成する方法がわかりません。ASDF-INSTALL と ASDF は、ライブラリをホームまたはサイトにインストールすることを意図しているようで、開発プラットフォームの状態が変化します。サーバー側アプリケーションを開発していて、ボックス上の CL インストール全体に対してこれらの依存関係を管理したい場合は、これで問題ありません。
しかし、スタンドアロン アプリケーションを作成し、インストール スクリプトを介してデプロイし、独自の CL インスタンスで単独で実行したい場合はどうすればよいでしょうか? 他のアプリケーションの CL インスタンスまたはターゲット システム構成を変更することは避けたいと思います (つまり、他のアプリケーションが依存するライブラリの他のコピーを上書きします)。Java では、これらのライブラリを含むインクルード ディレクトリを作成し、CLASSPATH を設定するだけです。独自の CL ランタイムをインストールせず、代わりにシステム上にあるものを使用すると仮定して、CL で同じレベルの分離を取得するにはどうすればよいですか?
ランタイムは、ランタイムが実行する特定のアプリケーション (Ruby や Python) よりも寿命が長く、アプリケーションは同じライブラリのロード状態を共有するため、これはすべての動的にコンパイル/解釈される言語に共通の問題であると思います。 . 私はそのような言語の経験がないので、ベスト プラクティスはおそらく私と顔を合わせることです。
これが実装固有の場合は IDK ですが、Clozure CL を実行しています。
編集:
ラマレン:
マッドボールを調べてみます。ありがとうございました。
ライブラリのインストールは、私が望んでいるものとは逆です。インストールは、ホスト システムの状態を変更することを意味するからです。キーは最後の段落にあるに違いないと思います。central-registryを隔離されたディレクトリに設定する起動スクリプトをどのように作成しますか? ASDF-INSTALL を使用して、上記のディレクトリに内容をフェッチすることは可能ですか? また、CL 実装の基本イメージに ASDF が含まれていない場合 (Clozure にはデフォルトで ASDF がありますが、CLISP はどのようにそれを行うのでしょうか)、全体をブートストラップするにはどうすればよいでしょうか?
開発チームの観点からも考えています。新しい CL プロジェクト スタブを作成し、CVS または SVN への最初のコミットを行った後、他の開発者はどのようにそれをローカル環境にチェックアウトして作業するのでしょうか? 誰もが自分のプロファイル/サイトのスタートアップに ASDF を持っていると仮定しても、他の開発者はそれぞれの中央レジストリに異なるライブラリ セットを持っている可能性があります。プロジェクトで一緒に作業するためだけに同期する必要はありません。Emacs/SLIME から CL ランタイムのプロジェクト固有のインスタンスを起動し、プロジェクトで指定されたものを正確にロードするためのクリーンな方法が必要です。
オンライン、CL、またはその他の言語でベスト プラクティスのリソースがあれば、喜んで独自のソリューションを展開し、それをオープン ソース化します。
ルイス:
SAVE-APPLICATION は展開には適していますが、私が概説した複数開発プロジェクトのスタブには適していません。
編集2:
バチン:
バージョン依存性は、まさにこれが問題である理由です。Perl または Ruby の Web アプリケーションを開発している場合、これらの依存関係を管理する Web 管理者の存在に依存できます。Lisp が異質な技術である小売業や中小企業向けのアプリを開発する場合 (そして、Lisp を管理するために IT 組織を「スキルアップ」するよう説得することはできません)、そのアプローチは受け入れられません。
昨夜、独自のプロジェクト固有の ASDF インスタンスをロードするプロジェクト レベルの .lisp ファイルを作成し、プロジェクト ローカルのcentral-registryを設定し、依存ライブラリを手動でダウンロードすることで (ASDF-INSTALL を使用せずに)、必要なものを取得することができました。これは、CLSQL と Webblock だけの依存関係の厄介なカスケードでした)。SLIME と Clozure 自体の両方について、ホームとサイトからすべてのカスタマイズを削除する必要があったため、開発ツールの観点からはまだ理想的ではありません。また、共有依存関係も解決されません (CLSQL と Webblock は両方とも MD5 を使用します)。
Java にはクラス ローダー分離機能があり、これがバージョン依存の問題を解決する方法です。次に、プロジェクトに必要なライブラリを取得する方法に関する別の問題があります(Maven風)。前者は言語の問題の核心です。後者はツールに関係しています。ASDF-INSTALL がプロジェクト インクルード ディレクトリ (Maven 風) に対して行うことを行う SLIME 拡張機能を一緒にハックし、lib ソース コードを変更して defpackage 呼び出しをインターセプトし、何らかの方法で gensym 文字列を先頭に追加して分離を強制します。このアプローチには多くの穴があることはわかっていますが、これをどれだけ深く埋めることができるかを知るには、パッケージ仕様について十分に知りません。
Python については何も知りませんが、小売レベルのアプリが存在することは知っています。私はいつも MusicBrainz Picard を使っています。Pythonがどのようにそれを行うかを調べます。
lisp - コマンドラインからの asdf-installing ライブラリ
Perl のバックグラウンドを持っているので、sbcl を起動するよりも好きだと言わざるを得ませcpan Foo::Bar
ん。これより便利なものはありますか?(require :asdf-install)
(asdf-install:install :foo-bar)
lisp - ECLはどのようにして実行可能ファイルにASDF依存関係を含めることができますか?
私はこのecl-make.lispを持っています:
(これstumpwm-system::*components*
は私の追加でstumpwm.asd
あり、そのファイル内のASDFコンポーネントと上記のファイルの適切な順序のリストを生成するために使用されます。)
それは単に失敗します:
私は、以前の試みで導入したエラーのみを解決しているところまで来ています。依存関係を含むECLを使用してプログラムを作成した場合は、その方法を教えてください。開始時に依存関係をパントしてロードする方法がわかりますstumpwm
(ロードしなくても~/.eclrc
、ASDFに依存関係の場所を指示します)。しかし、これは可能であるはずです。
lisp - SBCL と LangUtils
sbcl で動作する langutils を持っている人はいますか?
lisp - eclは実行可能ファイルにasdf依存関係をどのように含めることができますか? (テイク 2)
この質問は ayrnieu によって尋ねられ、回答されました。
ECL はどのように実行可能ファイルに ASDF 依存関係を含めることができますか?
しかし、彼がリンクしたサンプル コードには、実際には依存関係が含まれていません。彼が参照している stumpwm コードのモデルをコピーしようとしましたが、うまくいきません。彼は私のファイルです。
---- ecl-test.asd ----
---- ecl-test.lisp ----
---- パッケージ.lisp ----
---- main.lisp ----
これは正常にコンパイルされます(スライムで):
しかし、ecl-test-mono を実行するとエラーが発生します。
SYSTEM-REGISTERED-P は ASDF でエクスポートされていない関数のようです。なぜここに表示されるのかわかりませんが、私は初心者なので、何を知っていますか。
lisp - ltk(common lisp)の問題
asdf-installを使用してltkをSteelBankCommon Lispにインストールしましたが、V_Vで使用を開始することさえできません。以下のコードは、ドキュメントの最も単純な例であり、ほぼ逐語的にコピーされています。
これは私がsbclから受け取るエラーメッセージです:
zip - エラー:コンポーネント「zip」が見つかりません
zipライブラリをインストールしようとしています。
仕様:
Allegro CL 8.2
ASDF(おそらくAllegroに含まれています)
Mac OS X 10.6.4
MacBook Pro 5,1
奇妙なことに、ASDFはオンラインでzipを検索していないようです。それはただあきらめます。