问题标签 [rebar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
erlang - 关于集成 lager/rebar/common_test
我在我的 Erlang 项目中使用 rebar 做 UT。
在介绍 lager 之前,一切正常,我可以运行 common_test,如下所示:
1) 运行所有测试套件
2)运行指定的测试套件
但是在引入 lager 之后,我只能将所有测试套件作为一个整体运行:
1)
如果我只指定一个测试套件,它将失败:
2)
有什么解决办法吗?谢谢!
以下是我的 rebar.config:
erlang - Erlang R15B02 上的钢筋构建失败
- 卸载了以前版本的erlang
- 安装最新版本 R15B02
- 从源头安装钢筋
rebar 编译现在失败并出现以下错误:
我该如何解决?
erlang - 在 Erlang 应用程序中设置环境变量
很明显,我对 Erlang 有一些不明白的地方……嗯,在很多事情中。
我在 Rebar 下设置了一个名为 cw 的应用程序。我启动它,一切运行正常。
现在我想创建一个环境变量,以便可以访问 src 目录。我在 cw.app.src 中输入了以下内容:
编译,从 Rebar start.sh 开始...一切正常。
现在是谜。昨天我这样做时,当我在 Erlang shell 中输入 application:get_env(cw, proj_root) 时,我得到了正确的路径。但是今天我变得不确定。
我错过了什么?
非常感谢,
LRP
erlang - 钢筋生成的启动脚本未加载依赖项
我对 Erlang 和使用 Rebar 非常陌生,但我们正在做一个需要连接到 Riak 服务器的项目,为此我正在尝试使用 Riak Erlang 客户端(riakc_pb_socket
等)。
问题是从我的启动脚本(由 Rebar 和 reltool 生成)启动的 shell 不包括我在 rebar.config 中指定的依赖项(但是,当我执行 rebar get-deps 时它们下载得很好)。我知道当我自己启动 shell(erl -pa PATH)时,我可以将它们包含到我的路径中,但是由于这需要自动完成,我想知道我是如何实现的,我可以用 Rebar 指定这种行为还是我需要做从应用程序内部加载代码?
erlang - Erlang从节点分离shell/退出shell而不杀死节点
我觉得我错过了一些明显的愚蠢的东西,但我已经看了一遍,找不到我的问题的答案。
假设我有一个使用 rebar 构建的应用程序版本,然后我开始了它
我让它愉快地忙了一阵子,然后我想附加一个控制台来检查东西,所以我做了
并得到一个外壳。我乱七八糟,然后当我完成后,我想退出 shell,但让应用程序继续运行。如果我这样做^G q
or q().
,它会降低整个应用程序。
我也玩过启动应用程序+Bi
以阻止它允许某人意外关闭它,但是一个人甚至如何退出附加的外壳呢?
erlang - 钢筋释放erlexec错误
我的程序是用 mac os 编写的,10.6.8(erlang 15B01)
并使用 rebar 发布。
在我的开发电脑中,调用rel/app_a/bin/app_a
控制台时,它运行正常。
我有 tar"rel/app_a"
目录,然后将 tar 移动到运行 debian 的目标主机(erlang 版本是 R1501)。
调用时rel/app_a/bin/app_a console
,显示错误信息如下:
这里有什么意义erlexec:4
?如何解决问题?
当前系统配置
vm.args
我尝试在 sys.config 文件中创建语法错误以进行实验。所以我认为这不是由 sys.config 语法错误引起的。
erlang - 如何在 Erlang 中为一组应用程序生成文档?
我的问题
如何为多个应用程序生成类似 OTP 的文档?
解释
我已经开发了一个遵循 OTP 结构的应用程序库,并且我正在使用 rebar 来编译代码。
我的目录结构示例如下所示:
我的rebar.config
文件如下所示:
当我运行rebar doc
时,文档会生成并存储在doc
每个应用程序目录内的文件夹中,但我想生成一个将库文件夹理解为一个单元的文档。换句话说,我想自动创建一个索引页面,就像 Erlang 文档一样。
我尝试理解 erl_docgen,但无济于事。有没有办法做到这一点?
erlang - 如何从依赖项中加载 Rebar 插件以进行“预编译”?
我有许多应用程序需要在编译之前生成头文件。这似乎是 Rebar 插件的完美候选者,因此我创建了一个带有pre_compile
函数的插件,将其放入 Git 存储库中,并将其列为rebar.config
其他应用程序中的依赖项。
但是插件必须先编译后才能加载,所以我运行的时候rebar compile -v
发现rebar报错找不到插件,然后编译依赖,然后编译我的应用程序失败,因为头文件还没有生成。
有没有办法通过 Rebar 插件来完成我想要实现的目标,还是我需要找到另一种方法来做到这一点?
erlang - 依赖于库应用程序的 Erlang EUnit 测试模块
我有一个带有少量应用程序的中型版本。我最近在发行版中将一些常见功能重构为库应用程序。undef
这使我的 EUnit 测试在测试任何需要库应用程序的东西时 失败并显示消息。
设置是这样的:
然后
然后单元测试some_app:bar()
失败。我正在运行它们rebar eunit skip_deps=true
。我正在使用skip_deps=true
,因为我的版本使用了一些 3rd 方应用程序(SQL 等)。
我假设测试开始失败是因为 EUnit 在没有依赖关系的情况下调用被测应用程序?有没有什么办法解决这一问题?我已将 .app 文件配置为显式声明依赖项。它在发行版中运行良好,并且已经部署了大约一天,没有问题,但如果我能让测试再次通过,我会感觉好多了:)
(我可以使用一个模拟应用程序来存根utils:foo/0
,我可以看到这在哪里是理想的惯用语,但在这种情况下这似乎有点矫枉过正,因为utils:foo/0
(阅读:它是现实世界的对应物)做了一些非常简单的事情。)
erlang - Erlang 使用 Rebar 部署,hipe 错误 {"init terminating in do_boot",{'cannot load',hipe,get_file}}
对 Erlang 来说非常新,任何尝试使用 rebar 运行简单的 hello world 程序都会导致以下错误:
错误 -init_debug
我正在运行 ubuntu 12.04,使用使用 kerl 编译的 erlang,没有标志选项。我对生成的 reltool.config 所做的唯一修改是将“../../”添加到 lib_dirs。
它看起来非常相似 [this question][1] 但在 reltool.config 中添加“hipe”会导致错误:
发生了什么事,我该如何解决这个问题?