问题标签 [rebar3]

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 回答
184 浏览

erlang - 从 rebar3 中的编译中排除模块

如何从 rebar3 的编译中排除 Erlang 模块?

应根据配置文件包含或排除它。

0 投票
1 回答
185 浏览

erlang - 如何告诉 rebar3 在依赖项中运行测试

我希望我的 rebar3 应用程序能够测试自身及其所有依赖项。rebar3有可能吗?我创建了一个简单的“测试”插件,它试图rebar_prv_eunit:do/1在项目中的所有应用程序及其依赖项上执行,但它不起作用。

这是它的代码https://github.com/kubaodias/rebar3-test-plugin

0 投票
1 回答
328 浏览

erlang - 带有牛仔 2.0.0 的 Erlang 简单发布不起作用

我正在使用 Erlang/OTP 20.0 和 rebar3。当我启动使用牛仔 2.0.0 的新版本时,该版本无法启动。

以下是我构建项目的步骤。怎么了?

  1. 创建发布项目

    /li>
  2. 添加牛仔包

    /li>
  3. 添加基本​​调度程序

    /li>
  4. 添加处理程序。出于此示例的目的,我使用(https://raw.githubusercontent.com/ninenines/cowboy/master/examples/hello_world/src/toppage_handler.erl

  5. 编译和发布

    /li>
  6. 运行应用程序

    /li>

输出

0 投票
1 回答
713 浏览

erlang - 如何在多个模块中包含 .hrl 文件 rebar3

我有几个模块的目录。对于每个模块,我将include(包含*.hrl文件)和src(包含*.erl文件)文件夹分开。如何*.hrl在不复制模块的情况下将文件从模块共享到另一个模块?

使用钢筋,我添加了{erl_opts, [{i, "folderContainsIncludeFile"}]}它并且它起作用了。

但是使用rebar3,编译失败,说找不到包含文件“include/xx.hrl”

0 投票
1 回答
243 浏览

erlang - 我在哪里调用 mnesia:create_schema/1 在 relx 版本中?

我有一个依赖于 mnesia 的 OTP 应用程序“myapp”。我应该把电话打到哪里mnesia:create_schema/1

如果我{applications,[]}在 myapp.app.src 中添加依赖项,mnesia 首先启动,我不能在myapp:start/2. 在 myapp.script/myapp.boot 中调用它可能有意义,但 relx 不允许我添加任何内容。

我不想让 mnesia 成为一个包含的应用程序。

编辑:我通过在 relx 配置中的应用程序中列出 mnesia 找到了一种解决方法,但mnesia:create_schema([node()]), application:ensure_all_started(mnesia, permanent)myapp:start/2. 有没有更好的办法?

0 投票
1 回答
497 浏览

erlang - 外部模块未在 Erlang 中加载

我是Erlang的新手。我正在尝试通过rebar3加载托管在 git 上的库并能够成功编译。现在,当我尝试运行我的 Erlang 应用程序调用实际上指向库模块函数的 main 函数时,它会在 shell 中引发错误'module could not be loaded'

我试过code.get_path()了,但我的模块没有列出。所以我在这里很困惑。有谁可以帮我离开这里吗 ?

这是我的code:get_path()输出

注意:我正在使用Intellij编写我的代码

0 投票
1 回答
278 浏览

erlang - Rebar3 版本无法运行并崩溃,无法在引导文件中扩展 $ERTS_LIB_DIR

Erlang 版本 = Erlang/OTP 19

我使用 rebar3 创建了一个新的 erlang 应用程序,步骤如下:

我收到以下错误:

init 在 do_boot 中终止(无法在引导文件中扩展 $ERTS_LIB_DIR)崩溃转储正在写入:erl_crash.dump...done

有人可以检查我在这里缺少什么吗?谢谢。

0 投票
0 回答
124 浏览

erlang - 如何在钢筋中指定另一个静态 c 库作为依赖项/源?

我正在尝试构建一个使用 erlang 库的应用程序。(https://github.com/leo-project/erocksdb)。该库本身是 C++ 静态库(rocksdb编译为librocksdb.a)的包装器。rocksdb被制成 的 git 子模块erocksdb,并位于c_src目录中。我正在修改这两个地方(rocksdberocksdb)的代码。

问题是,如果我对 的.cc文件之一进行更改,则触发rocksdb的命令只会编译文件(代码的输出),但不会更新文件。makeerocksdblibrocksdb.arocksdberocksdb.so

发生这种情况是因为rebar.config没有将其指定librocksdb.a为源文件。port_specs添加源的正常方法rebar.config无法使用,因为它似乎期望源是一个C/C++文件,并尝试.o为每个源文件创建一个。

如何正确反映依赖关系?

0 投票
2 回答
504 浏览

erlang - Erlang 20.2 的语法错误

我遇到了 Erlang 20 的有线问题。

rebar3 as prod tar用来生成一个存档文件,我用它来构建一个基于erlang:20.2-alpine.

在我的 Macbook Pro 上,可以调用bin/app start,但在目标 docker 容器上,它告诉我:erts-9.2/bin/erlexec: line 1: syntax error: unexpected "("

我的 Macbook Pro 上的 Erlang:

目标容器上的 Erlang:

0 投票
1 回答
223 浏览

erlang - erlang覆盖规范或忽略rebar3的中断合同错误

我在一个具有一些 3rd 方依赖项的项目上运行 rebar3,其中一个在定义的规范方面存在问题。当我转到 rebar3 时,弹出一个新错误,表明我的一个方法调用违反了合同:

实际上,此代码与 atom 或 pid 完美配合。除了更新第三方库之外,有没有办法在不分叉代码的情况下覆盖该规范,或者只是忽略该特定错误?