quicklisp中文安装和使用说明
Category:安装设置英文原文网址:https://www.quicklisp.org/beta/
一、安装
要安装Quicklisp,请下载Quicklisp.lisp装上子弹。
要验证Quicklisp.lisp的完整性,可以下载它的分离的PGP签名文件并对照Quicklisp发布签名密钥的指纹D7A3 489 D DEFE 32B7 D0E7 CC 61 3079 65AB 028B 5FF7.的身份028B5F7的电子邮件发布@Quicklisp.org.
你只需要装载Quicklisp.lisp一次安装Quicklisp。看见安装后装载了解如何在初始安装后将已安装的Quicklisp加载到Lisp会话中。
下面是使用SBCL在MacOSX上的一个安装会话示例。在这个例子中,$是shell提示符,并且*是LispREPL提示符。
$ curl -O https://beta.quicklisp.org/quicklisp.lisp % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 49843 100 49843 0 0 33639 0 0:00:01 0:00:01 --:--:-- 50397 $ curl -O https://beta.quicklisp.org/quicklisp.lisp.asc ... $ gpg --verify quicklisp.lisp.asc quicklisp.lisp gpg: Signature made Sat Feb 1 09:25:28 2014 EST using RSA key ID 028B5FF7 gpg: Good signature from "Quicklisp Release Signing Key <release@quicklisp.org>" $ sbcl --load quicklisp.lisp This is SBCL 1.0.42.52, an implementation of ANSI Common Lisp. More information about SBCL is available at <http://www.sbcl.org/>. SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information. ==== quicklisp quickstart loaded ==== To continue, evaluate: (quicklisp-quickstart:install) * (quicklisp-quickstart:install) ; Fetching #<URL "http://beta.quicklisp.org/quickstart/asdf.lisp"> ; 144.48KB ================================================== 147,949 bytes in 0.64 seconds (226.11KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/quickstart/quicklisp.tar"> ; 160.00KB ================================================== 163,840 bytes in 0.76 seconds (211.36KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/quickstart/setup.lisp"> ; 2.78KB ================================================== 2,846 bytes in 0.001 seconds (2779.30KB/sec) Upgrading ASDF package from version 2.004 to version 2.009 ; Fetching #<URL "http://beta.quicklisp.org/dist/quicklisp.txt"> ; 0.40KB ================================================== 408 bytes in 0.003 seconds (132.81KB/sec) ==== quicklisp installed ==== To load a system, use: (ql:quickload "system-name") To find systems, use: (ql:system-apropos "term") To load Quicklisp every time you start Lisp, use: (ql:add-to-init-file) For more information, see http://www.quicklisp.org/beta/ NIL * (ql:system-apropos "vecto") ; Fetching #<URL "http://beta.quicklisp.org/dist/quicklisp/2010-10-07/systems.txt"> ; 45.30KB ================================================== 46,386 bytes in 0.50 seconds (89.70KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/dist/quicklisp/2010-10-07/releases.txt"> ; 83.49KB ================================================== 85,490 bytes in 0.53 seconds (157.22KB/sec) #<SYSTEM cl-vectors / cl-vectors-20101006-git / quicklisp 2010-10-07> #<SYSTEM lispbuilder-sdl-cl-vectors / lispbuilder-20101006-svn / quicklisp 2010-10-07> #<SYSTEM lispbuilder-sdl-cl-vectors-examples / lispbuilder-20101006-svn / quicklisp 2010-10-07> #<SYSTEM lispbuilder-sdl-vecto / lispbuilder-20101006-svn / quicklisp 2010-10-07> #<SYSTEM lispbuilder-sdl-vecto-examples / lispbuilder-20101006-svn / quicklisp 2010-10-07> #<SYSTEM static-vectors / static-vectors-20101006-git / quicklisp 2010-10-07> #<SYSTEM vecto / vecto-1.4.3 / quicklisp 2010-10-07> NIL * (ql:quickload "vecto") To load "vecto": Install 5 Quicklisp releases: cl-vectors salza2 vecto zpb-ttf zpng ; Fetching #<URL "http://beta.quicklisp.org/archive/salza2/2010-10-06/salza2-2.0.7.tgz"> ; 14.84KB ================================================== 15,197 bytes in 0.12 seconds (125.77KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/archive/zpng/2010-10-06/zpng-1.2.tgz"> ; 38.59KB ================================================== 39,521 bytes in 0.37 seconds (103.47KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/archive/zpb-ttf/2010-10-06/zpb-ttf-1.0.tgz"> ; 42.59KB ================================================== 43,611 bytes in 0.39 seconds (110.33KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/archive/cl-vectors/2010-10-06/cl-vectors-20101006-git.tgz"> ; 40.40KB ================================================== 41,374 bytes in 0.37 seconds (109.20KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/archive/vecto/2010-10-06/vecto-1.4.3.tgz"> ; 75.71KB ================================================== 77,526 bytes in 0.49 seconds (153.57KB/sec) ; Loading "vecto" .................................................. [package zpb-ttf]................................. [package salza2].................................. [package zpng].................................... [package net.tuxee.paths]......................... [package net.tuxee.aa]............................ [package net.tuxee.aa-bin]........................ [package net.tuxee.vectors]....................... [package vecto]........ ("vecto") * (ql:add-to-init-file) I will append the following lines to #P"/Users/quicklisp/.sbclrc": ;;; The following lines added by ql:add-to-init-file: #-quicklisp (let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname)))) (when (probe-file quicklisp-init) (load quicklisp-init))) Press Enter to continue. #P"/Users/quicklisp/.sbclrc" * (quit) $ </release@quicklisp.org>
尽管本例使用Unixshell,但在基于Windows或MacGUI的CL实现的REPL中,同样的过程也适用于安装。
二、安装后装载
只需安装Quicklispquicklisp.lisp
就一次。要在初始安装之后将Quicklisp加载到您的CommonLisp会话中,请加载该文件quicklisp/setup.lisp
与通用Lispload
功能。
例如,如果您在主目录中的默认位置安装了Quicklisp,下面的命令就足以将Quicklisp加载到正在运行的会话中:
(load "~/quicklisp/setup.lisp")
如果Quicklisp加载到不同的位置,或者您的实现不支持~path name语法(即CMUCL),则必须调整路径。
功能ql:add-to-init-file
将添加代码来自动执行init文件,因此当您的CommonLisp会话开始时,Quicklisp将加载。
基本命令
加载软件,使用:
(ql:quickload system-name)
例如:
CL-USER> (ql:quickload "vecto") To load "vecto": Install 5 Quicklisp releases: cl-vectors salza2 vecto zpb-ttf zpng loading output here
Quicklisp将自动下载加载系统所需的任何支持软件。
请注意,有些系统的名称与其项目不同。例如,要加载cl-yacc的系统,请运行(ql:快速装载“yacc”),不是(ql:快速装载“cl-yacc”).
QL:快速装载还可以用于加载不属于Quicklisp的本地系统。如果本地系统依赖通过Quicklisp提供的软件,则将自动加载依赖项。
默认情况下,QL:快速装载隐藏大多数编译和加载输出(包括警告),并将进度显示为一系列点。您可以通过传递显示完整的编译和加载输出。*冗长的t作为论点QL:快速装载。在报告和排除问题时,此输出可能特别有用。
删除软件,使用:
(ql:uninstall system-name)
例如:
CL-USER> (ql:uninstall "vecto") T
卸载执行以下操作:
- 删除系统的tarball存档和解压缩源文件
- 删除与系统关联的Quicklisp元数据文件
- 清除ASDF的系统缓存ASDF:透明系统
卸载不以任何其他方式更改当前的Lisp会话;如果给定的系统已经加载,则在会话结束之前,它仍然是加载的和可访问的。
找出可用的在Quicklisp中,使用:
(ql:system-apropos substring)
例如:
CL-USER> (ql:system-apropos "xml") #<SYSTEM bknr.xml / bknr-datastore-20100916-git / quicklisp 2010-09-16> #<SYSTEM cl-libxml2 / cl-libxml2-0.3.4 / quicklisp 2010-09-16> #<SYSTEM cxml / cxml-20100916-git / quicklisp 2010-09-16> #<SYSTEM cxml-dom / cxml-20100916-git / quicklisp 2010-09-16> #<SYSTEM cxml-klacks / cxml-20100916-git / quicklisp 2010-09-16> #<SYSTEM cxml-rng / cxml-rng-2008-11-30 / quicklisp 2010-09-16> #<SYSTEM cxml-rpc / cxml-rpc-20100916-git / quicklisp 2010-09-16> #<SYSTEM cxml-stp / cxml-stp-2008-11-30 / quicklisp 2010-09-16> #<SYSTEM cxml-stp-test / cxml-stp-2008-11-30 / quicklisp 2010-09-16> #<SYSTEM cxml-test / cxml-20100916-git / quicklisp 2010-09-16> #<SYSTEM cxml-xml / cxml-20100916-git / quicklisp 2010-09-16> #<SYSTEM pithy-xml / pithy-xml-20100916-git / quicklisp 2010-09-16> #<SYSTEM s-xml / s-xml-20100916-http / quicklisp 2010-09-16> #<SYSTEM s-xml-rpc / s-xml-rpc-20100916-http / quicklisp 2010-09-16> #<SYSTEM xml-render / cl-typesetting-20100916-svn / quicklisp 2010-09-16> #<SYSTEM xmls / xmls-1.3 / quicklisp 2010-09-16>
系统名是“system”之后的单词,在第一个“/”之前,例如“cxml-stp”。系统名称由QL:快速装载以及在系统定义中表示依赖信息。
当QL:系统-恰如其分对于系统和项目名称的简单字符串搜索非常有用,Quickdocs提供了对系统和项目的更一般的全文搜索。.
启动Lisp时加载Quicklisp,使用:
(ql:add-to-init-file)
Quicklisp将代码附加到Lisp的init文件中,该文件将在启动时加载Quicklisp。
(ql:quickload "quicklisp-slime-helper")
然后按照它显示的指示。快速黏液帮手将创建一个文件,您可以加载在Emacs,配置正确的加载路径,以加载Quicklisp的安装黏液。
获得更新的软件,使用:
(ql:update-dist "quicklisp")
软件更新通常每月提供一次。
更新Quicklisp客户端,使用:
(ql:update-client)
Quicklisp客户端更新通常每年提供几次。
返回到以前的一组库,见博文时光倒流。如果项目依赖于特定时间点的Quicklisp库宇宙的状态(API等),这将非常有用。
查看哪些系统依赖于特定的系统,使用:
(ql:who-depends-on system-name)http://mip.i3geek.com