asdf从命令行安装库

时间:2009-01-09 07:35:13

标签: lisp common-lisp asdf

来自Perl背景,我不得不说我更喜欢cpan Foo::Bar来启动sbcl,(require :asdf-install)和最后(asdf-install:install :foo-bar)。还有比这更方便的东西吗?

3 个答案:

答案 0 :(得分:3)

有clbuild:

http://common-lisp.net/project/clbuild/

但是我把它添加到我的.bashrc:

function asdf_install {
    sbcl --eval "(asdf:operate 'asdf:load-op :asdf-install)" --eval "(asdf-install:install :$1)" --eval "(quit)"
}

function asdf_oos {
    rlwrap sbcl --eval "(asdf:operate 'asdf:$2 :$1)"
}

答案 1 :(得分:1)

Common Lisp可以是​​冗长的;但是大多数(所有?)实现都支持一个Lisp启动文件,该文件定义/加载您喜欢的任何个性化开发环境。

另外,请查看Mudballs

答案 2 :(得分:1)

您可以查看http://www.quicklisp.org/ - 安装快捷方便,然后下载,安装和加载系统:

(ql:quickload :cxml)

要翻译为Perl,这就像(shell)cpanm cxml和(Perl内部)use cxml一样。

您也可以搜索系统;例如列出所有:

(ql:system-apropos "xml")

通常你会运行一个lisp进程并直接给它这些命令,但是如果你喜欢从shell进行安装等,你可以定义别名(正如你在答案https://stackoverflow.com/a/427333/17221中所做的那样) ):

function ql_install {
    sbcl --eval "(ql:quickload :$1)" --eval "(quit)"
}

function ql_apropos {
    sbcl --eval "(ql:system-apropos \"$1\")" --eval "(quit)"
}