在公共Lisp中管理依赖项

2024-10-03 11:15:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我从Python世界来了解Lisp,它基本上运行在virtualenv和{}上,作为创建容器和管理依赖关系的方法。在

目前,我正在更详细地学习commonlisp,并想知道它的社区在管理依赖关系和包方面的理念是什么。在

例如,如果我运行:

(ql:quickload '(cl-who hunchentoot parenscript elephant fiveam css-lite cl-json))

据我所知,所有这些包都将安装在quicklisp目录中的某个地方。(我不确定它们是以何种形式或安装在何处)。在

问题是有时是否有必要安装一个包的不同版本,这取决于手头的代码。也就是说,在这种情况下,人们会怎么做?他仅仅依赖于软件包的向后兼容性吗?在

通用的Lisp世界是如何处理这个问题的?在


Tags: 方法virtualenv关系cl世界社区容器理念
1条回答
网友
1楼 · 发布于 2024-10-03 11:15:10

如果您需要一个特定版本的包进行开发,只需将其克隆到Quicklisp(~/quicklisp/local-projects/)自动找到的存储库中。此版本将可用于所有项目。如果您需要它是项目本地的,或者为了方便地随应用程序提供一个依赖项列表,您可以使用Qlot,这实际上就像一个pip需求文件和一个venv。在

另一个答案也指出了Quicklisp bundles。在

更重要的是,还有Quicklisp controller来构建dists,这是一整套可以协同工作的包,就像Quicklisp一样,但是对于你自己相关的一组包。例如,cl21就是这样做的。在

我建议在你知道你需要它之前,不要再为这些烦恼;)

相关问题 更多 >