问题标签 [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.

0 投票
1 回答
718 浏览

erlang - 关于集成 lager/rebar/common_test

我在我的 Erlang 项目中使用 rebar 做 UT。

在介绍 lager 之前,一切正常,我可以运行 common_test,如下所示:

1) 运行所有测试套件

2)运行指定的测试套件

但是在引入 lager 之后,我只能将所有测试套件作为一个整体运行:

1)

如果我只指定一个测试套件,它将失败:

2)

有什么解决办法吗?谢谢!

以下是我的 rebar.config:

0 投票
1 回答
387 浏览

erlang - Erlang R15B02 上的钢筋构建失败

  1. 卸载了以前版本的erlang
  2. 安装最新版本 R15B02
  3. 从源头安装钢筋

rebar 编译现在失败并出现以下错误:

我该如何解决?

0 投票
2 回答
3606 浏览

erlang - 在 Erlang 应用程序中设置环境变量

很明显,我对 Erlang 有一些不明白的地方……嗯,在很多事情中。

我在 Rebar 下设置了一个名为 cw 的应用程序。我启动它,一切运行正常。

现在我想创建一个环境变量,以便可以访问 src 目录。我在 cw.app.src 中输入了以下内容:

编译,从 Rebar start.sh 开始...一切正常。

现在是谜。昨天我这样做时,当我在 Erlang shell 中输入 application:get_env(cw, proj_root) 时,我得到了正确的路径。但是今天我变得不确定。

我错过了什么?

非常感谢,

LRP

0 投票
1 回答
719 浏览

erlang - 钢筋生成的启动脚本未加载依赖项

我对 Erlang 和使用 Rebar 非常陌生,但我们正在做一个需要连接到 Riak 服务器的项目,为此我正在尝试使用 Riak Erlang 客户端(riakc_pb_socket等)。

问题是从我的启动脚本(由 Rebar 和 reltool 生成)启动的 shell 不包括我在 rebar.config 中指定的依赖项(但是,当我执行 rebar get-deps 时它们下载得很好)。我知道当我自己启动 shell(erl -pa PATH)时,我可以将它们包含到我的路径中,但是由于这需要自动完成,我想知道我是如何实现的,我可以用 Rebar 指定这种行为还是我需要做从应用程序内部加载代码?

0 投票
4 回答
3522 浏览

erlang - Erlang从节点分离shell/退出shell而不杀死节点

我觉得我错过了一些明显的愚蠢的东西,但我已经看了一遍,找不到我的问题的答案。

假设我有一个使用 rebar 构建的应用程序版本,然后我开始了它

我让它愉快地忙了一阵子,然后我想附加一个控制台来检查东西,所以我做了

并得到一个外壳。我乱七八糟,然后当我完成后,我想退出 shell,但让应用程序继续运行。如果我这样做^G qor q().,它会降低整个应用程序。

我也玩过启动应用程序+Bi以阻止它允许某人意外关闭它,但是一个人甚至如何退出附加的外壳呢?

0 投票
1 回答
957 浏览

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 语法错误引起的。

0 投票
2 回答
900 浏览

erlang - 如何在 Erlang 中为一组应用程序生成文档?

我的问题

如何为多个应用程序生成类似 OTP 的文档?

解释

我已经开发了一个遵循 OTP 结构的应用程序库,并且我正在使用 rebar 来编译代码。

我的目录结构示例如下所示:

我的rebar.config文件如下所示:

当我运行rebar doc时,文档会生成并存储在doc每个应用程序目录内的文件夹中,但我想生成一个将库文件夹理解为一个单元的文档。换句话说,我想自动创建一个索引页面,就像 Erlang 文档一样。

我尝试理解 erl_docgen,但无济于事。有没有办法做到这一点?

0 投票
1 回答
364 浏览

erlang - 如何从依赖项中加载 Rebar 插件以进行“预编译”?

我有许多应用程序需要在编译之前生成头文件。这似乎是 Rebar 插件的完美候选者,因此我创建了一个带有pre_compile函数的插件,将其放入 Git 存储库中,并将其列为rebar.config其他应用程序中的依赖项。

但是插件必须先编译后才能加载,所以我运行的时候rebar compile -v发现rebar报错找不到插件,然后编译依赖,然后编译我的应用程序失败,因为头文件还没有生成。

有没有办法通过 Rebar 插件来完成我想要实现的目标,还是我需要找到另一种方法来做到这一点?

0 投票
2 回答
989 浏览

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(阅读:它是现实世界的对应物)做了一些非常简单的事情。)

0 投票
1 回答
3116 浏览

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”会导致错误:

发生了什么事,我该如何解决这个问题?