我想你不會找到一顆銀彈。分發Erlang類似於分發Ruby;但是Ruby具有被包含在許多默認操作系統安裝中的優勢。
我知道ejabberd已爲許多發行版預先構建了二進制文件。你可以調查他們是如何做到的。
正確的解決方案可能取決於您定位的「多個平臺」數量。如果它是「Ubuntu 8.04加上Ubuntu 10.04」,與幾個Linux發行版不同,再加上OSX,再加上FreeBSD。通常只有開源項目支持這些平臺,理想情況下你可以從社區獲得補丁。對於內部項目,我看到團隊在Linux版本上標準化並在Mac/Windows上使用虛擬化。
但是,回到你的問題:
從源
大廈是一個合理的選擇。您可以在部署時構建,或爲所有平臺預先構建,然後部署二進制文件。 Erlang和CouchDB都使用Autoconf,這意味着您可以將它們移動到專門的位置(或多或少的獨立應用程序)。這將需要一些試驗和錯誤,但你的構建腳本可以
- 特定於平臺的依賴性設置:
gcc
,make
,autoconf
,你需要的一切。 apt-get
在RHEL,Macports上,yum
,無論您需要在開發和部署系統上獲得公共平臺
- 使用步驟1中的工具編譯並安裝其餘部分。使用
configure --prefix=/opt/my_software
將它保留在一個位置。 (您可以完全卸載rm -rf
。)
這是一箇中等級別的挑戰 - 主要是試驗和錯誤。如果可能,在Rake或Toby的建議passenger_stack
等構建框架內工作。祝你好運!
很棒的回答。我總結了這一點並將其呈現給我們的建築師。最後,他決定單獨設置每個環境會更簡單。 供參考。環境是RHEL,Ubuntu和OSX。 此外,每個開發人員都可以控制其開發環境,因此有多個開發人員可以分別管理它們。 – AaronThomson 2010-05-04 23:38:30