如何组织您的erlang工作流程?我正在学习一些Erlang,并且我正在使用Rebar,在每次编辑后重新编译,重新构建并重新启动整个发行版(我试图保留OTP版本)。我很确定有一个更聪明的方法来做到这一点。Erlang工作流程
9
A
回答
3
在Etorrent,我使用的一个小窍门,你可能会喜欢:
当你建立了一个开发版本,你可以执行命令make console
其具有以下定义:
console:
dev/etorrent-dev/bin/etorrent console \
-pa ../../apps/etorrent/ebin
基本上,它使用大多数东西的发布版本,但覆盖应用程序ebin在通常构建软件的位置。现在,运行一个控制台,您可以编辑您的代码,运行make
(我在Emacs中点击一个组合键),修复错误,再次运行make
等等。当您对更改感到满意时,可以进入控制台(erlang shell)并执行l(ModuleToLoad)
,此时正在运行的系统会获取注入的新代码。 OTP将自动获取热部署代码更改并更改进程。从本质上讲,只有在处理代码时才需要重启。
如今,我们也进行了测试,因此您可以在etorrent中执行make test
,让测试框架在注入之前在您新形成的代码上运行,如果您希望更多地保证新代码的正常工作。
3
芝加哥老大你只需点击“刷新”,在您的网页浏览器:
即使你的目标不是网络的发展,这可能是学习二郎比更有趣的方式您目前的工作流程CB在浏览器中正确显示编译和运行时错误。
3
我一直在使用Sync来避免可怕的编辑/重新编译/重新启动循环。它会监视源文件的更改,然后仅重新编译和重新加载更改后的模块。它将错误和警告输出到控制台,并将它们发送到notify-send/growl(如果可用)。
这是因为运行sync:go().
看看this rebar template一个更好的例子一样简单。
如果您正在集群上开发另一个很棒的功能,那就是sync的“补丁模式”。使用“补丁模式”时,每次同步成功编译模块时,它会将编译后的代码发送到连接到群集的每个节点并重新加载模块!
0
为了在每次编辑时自动重新载入src文件,您可以试试rebar3中的自动插件。
我最近搬到了rebar3,发现它比螺纹钢更容易操作。
相关问题
- 1. Erlang中的流程平衡
- 2. Erlang gen_event不工作
- 3. WebRTC工作流程
- 4. sharepoint工作流程
- 5. NetSuite工作流程
- 6. CMake工作流程?
- 7. sharepoint工作流程
- 8. GIT:Gitflow工作流程
- 9. Docker工作流程
- 10. svnmerge工作流程
- 11. 流程/工作流程引擎
- 12. html流程图/工作流程图
- 13. 从状态工作流程内启动顺序工作流程
- 14. 工作流程基础工作流程类型
- 15. Sharepoint Designer 2007 - 工作流程和辅助工作流程关系
- 16. 启动多个工作流程的单一工作流程
- 17. 在工作流程中调用工作流程
- 18. 从另一个工作流程中运行工作流程
- 19. 如何暂停工作流程并恢复工作流程?
- 20. 将SharePoint Designer工作流程迁移到Visual Studio工作流程
- 21. Windows工作流程:“singleton”式工作流程?
- 22. 一般工作流程 - 问题/ ez组件工作流程
- 23. 窗口工作流程4工作流程档位
- 24. 工作流程中pimcore不工作
- 25. Erlang Mnesia Distribution如何工作
- 26. Erlang调试器不工作
- 27. 什么是Erlang的流操作方法?
- 28. 工作流程/设计
- 29. CMake往返工作流程
- 30. App Engine的工作流程