你如何组织你的 erlang 工作流程?我现在正在学习一些 Erlang,我正在使用Rebar,在每次编辑后重新编译、重建和重新启动整个版本(我试图保持 OTP'ish)。我很确定有一种更聪明的方法可以做到这一点。
问问题
1003 次
4 回答
3
在 Etorrent 中,我使用了一个你可能喜欢的小技巧:
构建开发版本后,您可以执行make console
具有以下定义的命令:
console:
dev/etorrent-dev/bin/etorrent console \
-pa ../../apps/etorrent/ebin
基本上,它对大多数东西使用发行版 ebin,但将应用程序 ebin覆盖在您通常构建软件的位置之外。现在,运行控制台,您可以编辑代码、运行make
(我在 Emacs 中按下组合键)、修复错误、make
再次运行等等。当您对更改感到满意时,您进入控制台(erlang shell)并执行l(ModuleToLoad)
,此时正在运行的系统会注入新代码。OTP 将自动获取热部署的代码更改并更改流程。本质上,您只需在处理代码时很少重新启动。
现在,我们也有测试,所以make test
如果你想更多地保证新代码可以工作,你可以在 etorrent 中执行,让测试框架在注入之前在你新形成的代码上运行。
于 2011-02-15T20:56:15.240 回答
3
使用 Chicago Boss,您只需在 Web 浏览器中点击“刷新”:
即使您的目标不是 Web 开发,它也可能是一种比您当前的工作流程更有趣的学习 Erlang 的方法。CB 在浏览器中漂亮地打印编译和运行时错误。
于 2011-02-16T22:25:06.463 回答
0
对于每次编辑时自动重新加载 src 文件,您可以在 rebar3 中尝试自动插件。
我最近搬到了 rebar3,发现它比 rebar 更容易使用。
于 2017-06-08T08:05:44.153 回答