2011-07-04 61 views
5

我想用couchdb代碼貢獻更多,但我真的不知道它是如何以正確的方式完成的。每當我想測試源代碼的更改時,是否需要重新制作並重新安裝couchdb?

我已經克隆了Apache的git倉庫的源和

./configure 
make && sudo make install 

建造它,然後我想改變從名爲couch_httpd_show.erl

我需要再爲每一次改變運行make && sudo make install源文件我對源代碼進行了解,並希望看到它的行爲如何?

我相信有一個更實際的方法來做到這一點,因爲這種方法有點時間和耐心消耗的權利? :)

任何幫助將非常感激

感謝

+0

呵呵manojlds,你拿走了git標籤,就像我20秒前得到機會:) – ralphtheninja

回答

5

是的,有一個捷徑。

./configure 
make dev 
./utils/run 

這將在當前目錄中完全構建並運行CouchDB。 CouchDB不是作爲後臺守護進程運行,而是在前臺運行,並將日誌消息輸出到終端。它使用一些本地目錄來存儲內容:日誌爲./tmp/log,數據庫爲./tmp/lib,以及(如果我沒記錯的話)進行配置。

如果運行這個:

./utils/run -i 

,那麼你也將有一個互動的Erlang提示,你可以用它來幫助調試。

當我在CouchDB的工作,我在shell中運行此:

make dev && ./utils/run -i 

後,我改變了一些代碼,我按^C,向上的箭頭,迴歸。

當我加入Couchio時,我負責生產CouchDB部署。我問克里斯安德森有什麼建議,他說:「對不起,問一月,我一直只使用utils/run多年!」

+0

這真的很方便@jhs,非常感謝這個,它確實有幫助。它是太棒了,你甚至不需要安裝它。乾杯 – zanona

2

你可以重建一個文件,並在地方,重新開始下降的輸出光束。

+0

謝謝達斯汀,你介意怎麼描述一下好嗎?我對此很新,對於我缺乏知識感到抱歉。再次感謝:) – zanona

+0

我聽說過人們基本上使用該技術來升級生產中的couchdb。 – JasonSmith

0
erlc <file.erl> 

&然後複製.beam文件到位。要重新啓動couchdb,請使用init:restart()。在erlang shell或POST/_restart到CouchDB中。

雖然您可能要考慮使用命令行erlang & javascript測試套件,以確保您沒有損壞任何東西。

相關問題