gpt4 book ai didi

deployment - 独立于家庭和站点配置的ASDF或其他模块系统

转载 作者:太空宇宙 更新时间:2023-11-03 18:43:22 24 4
gpt4 key购买 nike

我正试图找出实际应用程序开发的最佳实践我很难理解如何正确配置第三方库以作为独立包进行部署似乎ASDF-INSTALL和ASDF旨在将库安装到home或site,从而改变开发平台的状态如果我在开发一个服务器端应用程序,并且我想为整个CL安装管理这些依赖关系,那就没问题了。
但是,如果我想创建一个独立的应用程序,通过安装脚本部署,并在它自己的CL实例中单独运行呢我希望避免更改任何其他应用程序的CL实例或目标系统配置(即覆盖其他应用程序所依赖的库的其他副本)在java中,我所要做的就是创建一个包含这些库的include目录并设置我的类路径。假设我没有安装自己的CL运行时,而是使用系统上的内容,那么如何在CL中获得相同级别的隔离?
在我看来,这是所有动态编译/解释语言的一个常见问题,因为运行时的生存期比运行时运行的任何特定应用程序(如Ruby或Python)都长,并且应用程序将共享相同的库加载状态我对这种语言没有任何经验,所以最好的做法可能是直面我。
idk如果这是特定于实现的,但是我运行的是clozure cl。
编辑:
拉马伦:
我去看看泥球谢谢您。
安装库与我想要的相反,因为安装意味着修改主机系统状态我想关键一定在你的最后一段如何创建启动脚本以将中央注册表设置为独立目录是否可以使用ASDF-INSTALL将内容提取到所述目录中如果CL实现的基本映像不包括ASDF(Clozure默认有ASDF,但是CLISP会怎么做呢)?
我也在考虑开发团队。在我创建一个新的CL项目存根并将其初始提交给CVS或SVN之后,其他开发人员如何将其签出到他们的本地环境并使用它即使假设每个人在他们的概要文件/站点启动中都有ASDF,其他dev在他们的中央注册中心中也可能有一组不同的lib我们不应该仅仅为了一个项目而同步必须有一个干净的方法从Emacs/SLIME启动CL运行时的特定于项目的实例,并加载项目中指定的内容,不多不少。
如果有任何最佳实践资源在线,在cl或任何其他语言,我会很高兴滚动我自己的解决方案和开源。
路易斯:
SAVE-APPLICATION适合部署,但不适合我概述的多个dev项目存根。
编辑2:
梵蒂冈:
版本依赖正是这个问题的原因。如果我正在开发一个Perl或Ruby Web应用程序,那么我可以依赖WebAdmin来管理这些依赖关系。在Lisp是外来技术的情况下(我无法说服他们“提高”自己的IT组织来管理IT),为零售业或中小型企业开发应用程序是不可接受的。
昨晚,我创建了一个project level.lisp文件,加载自己特定于项目的ASDF实例,设置一个项目本地中心注册表,并手动下载依赖的libs(没有ASDF-INSTALL,这只是CLSQL和Weblocks的一个痛苦的依赖级联)从开发工具的角度来看,这仍然不太理想,因为我不得不从我的家和站点中删除slime和clozure本身的所有定制。此外,共享依赖项也不会被解析(CLSQL和Weblocks都使用MD5)。
Java具有类装入器隔离,这就是它解决版本依赖问题的方法还有一个单独的问题是如何将您想要的lib放入项目中(la Maven)前者是一个核心语言问题,后者则与工具有关我将要破解一个SLIME扩展,它对项目include directory(la Maven)执行ASDF-INSTALL所做的操作,并修改lib源代码以拦截defpack调用,以某种方式预先发送gensym字符串以强制隔离我知道,这种方法有很多漏洞,而且我对包规范的了解还不够,不知道我能把它埋得有多深。
我对Python一无所知,但我知道零售级应用程序是存在的,我一直使用MyICBRIZZ PICARD。我来看看python是怎么做到的。

最佳答案

你想要CCL:SAVE-APPLICATION

关于deployment - 独立于家庭和站点配置的ASDF或其他模块系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/412314/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com