我們正在準備部署一個Tcl應用程序,但我很難搞清楚如何去做。目前,我正在嘗試使用tclkit和sdx.kit。我可以打包一個tcl文件並運行它,但是整個應用程序的結構包含與tcl一起工作的文件夾,圖像和c文件。我有兩個文件夾和一堆c文件和tcl文件和其他東西。我將如何去包裹整個事情。除了tclkit,你們推薦什麼工具?爲什麼?打包一個用於在Linux中部署的tcl程序
0
A
回答
1
建議您分發應用程序的主要方式是作爲tclkit。有幾種選擇(例如,TOBE,ActiveState的商業工具),但它們非常相似,因爲它們都建立在Tcl的虛擬文件系統層之上。 (注意,這與Linux VFS的東西不一樣;這是一個單一應用程序中的VFS)。事實上,ActiveState工具是重新加載的tclkit(加上一些其他的東西,如代碼混淆)。我相信TOBE使用ZIP歸檔而不是元數據庫。
使用基於VFS的解決方案的優點是,它意味着很多東西在裏面工作,特別是包括source
(用於獲取另一.tcl文件)都和load
(爲得到一個二進制庫)。事實上,您可以將您的應用程序,它所依賴的軟件包以及VFS中的資源(圖像等)放在一起,並確保事物可行。關於我們知道的唯一遇到的問題就是您想要在存檔中使用exec
的東西(VFS掛載是過程本地的;如果您希望在子進程中看到它,則必須將副本文件複製出來)以及如果您希望使用tls
軟件包加載私鑰證書(因爲基礎OpenSSL庫不會委託給Tcl來處理其出於某種原因的那部分I/O,AIUI)。
當你在構建這些東西的時候,有效地創建一個目錄(及其子目錄),其中的所有內容都可以正確顯示。然後你運行包裝器(sdx for tclkits),它爲你構建整個應用程序。將結果附加到運行時(標準tclkit
),然後就可以進行測試和部署。
我們通常不會在這裏對堆棧溢出做工具推薦,但ActiveState Tcl開發包實際上被廣泛使用。許多其他人使用sdx
/tclkit
。 TOBE相當罕見。 (還有其他包裝技術,但我現在不推薦他們;確實包裝的VFS工作得很好。)
相關問題
- 1. 打包和部署Scala應用程序
- 2. 在Linux上部署PyQt5應用程序
- 3. 從Eclipse打包和部署Jython程序
- 4. 在Linux上運行的Jenkins在Windows上部署一個包
- 5. linux C++應用程序部署
- 6. 部署Linux CUDA應用程序
- 7. 部署一個java程序
- 8. 如何在nginx中部署多個rails應用程序,並在根中部署一個應用程序?
- 9. 部署打包閃亮閃亮的應用程序服務器
- 10. 使用.net應用程序部署打包.net框架
- 11. 部署一個應用程序從CI
- 12. 如何在Ubuntu/Linux中部署Node.js應用程序?
- 13. 如何打包和部署Eclipse Java應用程序
- 14. 如何將Eclipse應用程序打包並部署到設備
- 15. 與乘客部署RoR應用程序時無法打包
- 16. 如何打包/部署udash應用程序?
- 17. 以rpm格式打包/部署Web應用程序
- 18. 如何打包和部署Python應用程序,如Mercurial鉤子?
- 19. 部署一個Qt應用程序二進制在Linux上,兼容LSB
- 20. 如何在Linux中打開一個程序的多個實例
- 21. 從Linux部署Qt程序到Windows
- 22. 部署Python應用程序共享包
- 23. SSIS包部署實用程序 - 配置部署位置
- 24. 在Linux上部署Javascript應用程序的最簡單方法
- 25. 部署Grails應用程序作爲在Amazon EC2上的Linux
- 26. 在Android應用程序中打包超過1個小部件
- 27. 如何打包部署的Windows驅動程序?
- 28. 在linux中部署Asp.net mvc
- 29. 在TCL中,我從尾部打開一個文件
- 30. 在一個子目錄中部署ASP.NET應用程序
謝謝,我使用vfs我只是無法弄清楚如何指向正確的文件夾,我有兩個文件夾common和tp,在tp裏我有main.tcl我將如何構造文件夾才能使其工作。我嘗試拔出文件夾外的main.tcl,但我無法找到其他文件。 – 2014-10-09 20:07:23