我正在尝试使用couchdb代码做出更多贡献,但我真的不知道它是如何以正确的方式完成的。
我已经从apache git存储库克隆了源代码并使用
构建了它./configure
make && sudo make install
然后我想从名为couch_httpd_show.erl
我是否需要再次运行make && sudo make install
我对源代码所做的每一项更改,并希望了解它的行为方式?
我确信有更实际的方法可以做到这一点,因为这种方法有点时间和耐心消费吗? :)
任何帮助都会非常感激
由于
答案 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测试套件也确保你没有破坏任何东西。