Quicklispを使う


Tag: ライブラリ管理

CLiki:QuicklispはZach Beaneが開発しているライブラリ管理ツールです。まだBetaリリースですが、多くのライブラリが登録されておりLinux,Mac,Windowsにも対応しています。

インストール

インストールは非常に簡単で、quicklisp.lispをダウンロードしてきて、 処理系からloadしたら、以下のように自動セットアップを実行するだけです。

(quicklisp-quickstart:install)

プロキシを設定したい場合は:proxyキーワードを使います。

(quicklisp-quickstart:install :proxy "http://192.168.x.xx:8080")

すると、自動的にセットアップが実行され、~/quicklispにインストールされます。もし次回の処理系の実行時にも自動的にロードしてほしいと思ったら

(ql:add-to-init-file)

を実行しておくと、自動的にその処理系のinitファイル?にquicklispをロードするようのコードが挿入されます。

インストールディレクトリを変更

ホームディレクトリにインストールされるのが嫌であれば、セットアップ後に自由に移動すれば大丈夫です。

# ~/.quicklispに移動
$ mv quicklisp .quicklisp

その後処理系のinitファイル?に追加されたディレクトリパスを変更します。

 ;;; The following lines added by ql:add-to-init-file:
 #-quicklisp
 (let ((quicklisp-init (merge-pathnames ".quicklisp/quicklisp/setup.lisp"
                                        (user-homedir-pathname))))
   (when (probe-file quicklisp-init)        
     (load quicklisp-init)))

ライブラリの検索

Quicklispに登録されているライブラリを検索するにはql:system-aproposを使います。

(ql:system-apropos "web")
;-> #<system cl-webdav / cl-webdav-0.2.0 / quicklisp 2010-12-07>
;   #<system symbolicweb / symbolicweb-20101207-git / quicklisp 2010-12-07>
;   #<system symbolicweb-examples / symbolicweb-20101207-git / quicklisp 2010-12-07>
;   #<system symbolicweb-jquery / symbolicweb-20101207-git / quicklisp 2010-12-07>
;   #<system webactions / portableaserve-20101006-cvs / quicklisp 2010-12-07>
;   #<system weblocks / weblocks-20101207-hg / quicklisp 2010-12-07>
;   #<system weblocks-demo / weblocks-20101207-hg / quicklisp 2010-12-07>
;   #<system weblocks-demo-popover / weblocks-20101207-hg / quicklisp 2010-12-07>
;   #<system weblocks-memory / weblocks-20101207-hg / quicklisp 2010-12-07>
;   #<system weblocks-prevalence / weblocks-20101207-hg / quicklisp 2010-12-07>
;   #<system weblocks-s11 / weblocks-20101207-hg / quicklisp 2010-12-07>
;   #<system weblocks-scripts / weblocks-20101207-hg / quicklisp 2010-12-07>
;   #<system weblocks-store-test / weblocks-20101207-hg / quicklisp 2010-12-07>
;   #<system weblocks-yarek / weblocks-20101207-hg / quicklisp 2010-12-07>
;   #<system weblocks-yui / weblocks-20101207-hg / quicklisp 2010-12-07>
;=> nil

ライブラリのインストール

ライブラリをインストールするにはql:quickloadを使います。

(ql:quickload :weblocks)

一度インストールされたライブラリをロードするときにも同じql:quickloadを使います。

ライブラリ情報のアップデート

Quicklispのリポジトリに登録されているライブラリは毎月更新されます(毎月7日?)。ローカルのリポジトリを新しい情報に更新するにはREPLで以下のコードを実行します。

(ql:update-all-dists)

プロキシの設定

インストール時にプロキシを設定した場合は既にプロキシが設定されていますが、一時的にプロキシを設定したい場合はql-http:*proxy-url*にURLをセットします。

(setf ql-http:*proxy-url* "http://192.168.x.xx:8080")

自分のライブラリを登録してもらうには

GitHubにアクセスし、左のCreate Issueをクリックします。タイトルに自分のライブラリ名、本文にライブラリの内容などを入力して登録します。

ビルドできることが確認され、次のアップデートサイクルのときに登録されます。