我们正准备部署一个Tcl应用程序,但我无法弄清楚如何做到这一点。目前,我正在尝试使用tclkit和sdx.kit。我可以打包一个tcl文件并运行它,但整个应用程序的结构包含文件夹和图像以及与tcl一起工作的c文件。我有两个文件夹,里面有一堆c文件和tcl文件和其他东西。我怎么去包装整件事。除了tclkit,你们推荐什么工具?为什么?
答案 0 :(得分:1)
建议您分发应用程序的主要方式是作为tclkit。有一些替代方案(例如,TOBE,ActiveState的商业工具),但它们非常相似,因为它们都建立在Tcl的虚拟文件系统层之上。 (注意:这与Linux VFS的内容不同;这是单个应用程序中的VFS。)实际上,ActiveState工具实际上是一个重新添加的tclkit(以及代码混淆等其他一些东西) )。我相信TOBE使用ZIP存档而不是metakit数据库。
使用基于VFS的解决方案的优势在于它意味着很多内部工作,特别是包括source
(用于获取另一个.tcl文件)和{{ 1}}(用于获取二进制库)。事实上,您可以将您的应用程序,它所依赖的软件包以及资源(图像等)放在VFS中,并确保事情能够正常工作。关于我们所知道的唯一遇到真正问题的事情是您希望归档中的load
某些内容(VFS挂载是进程本地的;如果您希望在其中看到它,则必须复制子文件如果您想要使用exec
包加载私钥证书(因为基础OpenSSL库由于某种原因没有委托给Tcl来处理其I / O部分,AIUI)。
当你构建这些东西时,有效地创建了一个正确布局的目录(及其子目录)。然后运行打包器(sdx for tclkits)并为您构建整个应用程序。将结果附加到运行时(标准tls
),您就可以进行测试和部署了。
我们通常不会在Stack Overflow上提供工具建议,但ActiveState Tcl Dev Kit实际上被广泛使用。许多其他人使用tclkit
/ sdx
。 TOBE非常罕见。 (还有其他包装技术,但我现在不推荐它们;打包的VFS确实非常好用。)