每次我想测试对源的更改时,是否需要重新制作并重新安装couchdb?

时间:2011-07-04 19:32:35

标签: open-source erlang couchdb contribute

我正在尝试使用couchdb代码做出更多贡献,但我真的不知道它是如何以正确的方式完成的。

我已经从apache git存储库克隆了源代码并使用

构建了它
./configure
make && sudo make install

然后我想从名为couch_httpd_show.erl

的来源更改文件

我是否需要再次运行make && sudo make install我对源代码所做的每一项更改,并希望了解它的行为方式?

我确信有更实际的方法可以做到这一点,因为这种方法有点时间和耐心消费吗? :)

任何帮助都会非常感激

由于

3 个答案:

答案 0 :(得分:5)

是的,有一条捷径。

./configure
make dev
./utils/run

这完全在当前目录中构建和运行CouchDB。 CouchDB不是作为后台守护程序运行,而是在前台运行并将日志消息输出到终端。它使用一些本地目录来存储内容:./tmp/log用于日志,./tmp/lib用于数据库,(如果我没记错的话)./etc/couch/local_dev.ini用于配置。

如果你改为运行:

./utils/run -i

然后您还将有一个交互式Erlang提示,您可以使用它来帮助调试。

当我在CouchDB上工作时,我在shell中运行它:

make dev && ./utils/run -i

我更改了一些代码后,按^C,向上箭头,返回。

当我加入Couchio时,我负责生产CouchDB部署。我问克里斯安德森有关于某事的建议,他说,“对不起,请问Jan.我一直只是使用utils / run多年了!”

答案 1 :(得分:2)

您可以重建该文件并将输出光束放在原位并重新启动。

答案 2 :(得分:0)

erlc <file.erl>

&安培;然后将.beam文件复制到位。要重新启动couchdb,请使用init:restart()。在erlang shell或POST / _restart到CouchDB。

虽然你可能想考虑使用命令行erlang&amp; javascript测试套件也确保你没有破坏任何东西。