
fukamachi/qlotQlot(发音为kyü-'lät,类似"culotte")是一个使用Quicklisp工具的项目本地库安装器。它的目标类似于Ruby的Bundler或Perl的Carton。
警告:此软件仍处于BETA测试阶段。API可能会发生变化。
当你需要:
common(ql:quickload :qlot)
也可以使用Roswell安装:
bash# 安装稳定版 $ ros install qlot # 从GitHub安装最新版本 $ ros install fukamachi/qlot
Roswell安装会提供qlot命令行工具:
bash$ which qlot /Users/nitro_idiot/.roswell/bin/qlot
qlfile文件在项目根目录创建qlfile文件,声明项目依赖:
# 示例qlfile git clack [***] github datafly fukamachi/datafly :branch v0.7.x ql log4cl 2014-03-17
bash$ cd /path/to/myapp # 项目本地安装库 $ qlot install
这将创建.qlot/目录(包含所有依赖)和qlfile.lock文件(锁定依赖版本)。
bash# 更新所有依赖 $ qlot update # 更新特定依赖 $ qlot update --project mito
bash# 添加Quicklisp库 $ qlot add mito # 添加Ultralisp库 $ qlot add ultralisp egao1980-cl-idna # 添加GitHub库 $ qlot add github datafly fukamachi/datafly
使用qlot exec在项目环境中执行命令:
bash# 启动REPL $ qlot exec ros -S . run # 启动Web应用 $ qlot exec clackup app.lisp # 构建项目 $ qlot exec ros build some-app.ros
qlfile是依赖声明文件,每行代表一个库,格式为:
<source> <project name> [参数...]
ql <project name> [<version>] ql log4cl 2014-03-17 # 指定版本 ql clack # 使用最新版本
ultralisp <project name> [<version>] ultralisp egao1980-cl-idna
http <project name> <url> [<file md5>] http yason [***]
git <project name> <repos url> [:ref|:branch|:tag <标识符>] git clack [***] git clack [***] :branch develop git datafly [***] :tag v0.7.4 git cl-dbi [***] :ref 54928984e5756e92ba298aae51de8b95a6b0cf4b
私有仓库通过SSH访问:
git myapp ***:company/private-repo.git
github <project name> <user/repo> [:ref|:branch|:tag <标识符>] github datafly fukamachi/datafly github datafly fukamachi/datafly :branch develop
dist <dist name> <distribution URL> [<dist version>] dist quicklisp [***] dist ultralisp [***]
如果多个发行版提供相同库,后面声明的发行版优先级更高。
在Emacs配置中添加:
emacs(defun slime-qlot-exec (directory) (interactive (list (read-directory-name "项目目录: "))) (slime-start :program "qlot" :program-args '("exec" "ros" "-S" "." "run") :directory directory :name 'qlot :env (list (concat "PATH=" (mapconcat 'identity exec-path ":")))))
使用M-x slime-qlot-exec启动项目本地SLIME REPL。
可以通过PROJECT_ROOT/.qlot/local-projects目录或符号链接添加本地开发的库。
| 命令 | 描述 |
|---|---|
qlot install | 安装qlfile中声明的依赖 |
qlot update | 更新所有依赖并更新qlfile.lock |
qlot update --project <name> | 更新特定依赖 |
qlot add <source> <project> [参数] | 添加新依赖 |
qlot exec <command> | 在项目环境中执行命令 |
qlot run | 启动项目本地REPL |
Quicklisp虽然极大简化了Common Lisp库的安装,但存在版本控制限制:
Qlot通过项目本地安装和版本锁定解决了这些问题,让Common Lisp项目的依赖管理更加可靠和可预测。
Copyright (c) 2014 Eitaro Fukamachi
根据MIT许可证授权。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务