问题标签 [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.
erlang - 从 rebar3 中的编译中排除模块
如何从 rebar3 的编译中排除 Erlang 模块?
应根据配置文件包含或排除它。
erlang - 如何告诉 rebar3 在依赖项中运行测试
我希望我的 rebar3 应用程序能够测试自身及其所有依赖项。rebar3有可能吗?我创建了一个简单的“测试”插件,它试图rebar_prv_eunit:do/1
在项目中的所有应用程序及其依赖项上执行,但它不起作用。
erlang - 带有牛仔 2.0.0 的 Erlang 简单发布不起作用
我正在使用 Erlang/OTP 20.0 和 rebar3。当我启动使用牛仔 2.0.0 的新版本时,该版本无法启动。
以下是我构建项目的步骤。怎么了?
创建发布项目
/li>添加牛仔包
/li>添加基本调度程序
/li>添加处理程序。出于此示例的目的,我使用(https://raw.githubusercontent.com/ninenines/cowboy/master/examples/hello_world/src/toppage_handler.erl)
编译和发布
/li>运行应用程序
/li>
输出
erlang - 如何在多个模块中包含 .hrl 文件 rebar3
我有几个模块的目录。对于每个模块,我将include
(包含*.hrl
文件)和src
(包含*.erl
文件)文件夹分开。如何*.hrl
在不复制模块的情况下将文件从模块共享到另一个模块?
使用钢筋,我添加了{erl_opts, [{i, "folderContainsIncludeFile"}]}
它并且它起作用了。
但是使用rebar3,编译失败,说找不到包含文件“include/xx.hrl”
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
. 有没有更好的办法?
erlang - Rebar3 版本无法运行并崩溃,无法在引导文件中扩展 $ERTS_LIB_DIR
Erlang 版本 = Erlang/OTP 19
我使用 rebar3 创建了一个新的 erlang 应用程序,步骤如下:
我收到以下错误:
init 在 do_boot 中终止(无法在引导文件中扩展 $ERTS_LIB_DIR)崩溃转储正在写入:erl_crash.dump...done
有人可以检查我在这里缺少什么吗?谢谢。
erlang - 如何在钢筋中指定另一个静态 c 库作为依赖项/源?
我正在尝试构建一个使用 erlang 库的应用程序。(https://github.com/leo-project/erocksdb)。该库本身是 C++ 静态库(rocksdb
编译为librocksdb.a
)的包装器。rocksdb
被制成 的 git 子模块erocksdb
,并位于c_src
目录中。我正在修改这两个地方(rocksdb
和erocksdb
)的代码。
问题是,如果我对 的.cc
文件之一进行更改,则触发rocksdb
的命令只会编译文件(代码的输出),但不会更新文件。make
erocksdb
librocksdb.a
rocksdb
erocksdb.so
发生这种情况是因为rebar.config
没有将其指定librocksdb.a
为源文件。port_specs
添加源的正常方法rebar.config
无法使用,因为它似乎期望源是一个C/C++
文件,并尝试.o
为每个源文件创建一个。
如何正确反映依赖关系?
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:
erlang - erlang覆盖规范或忽略rebar3的中断合同错误
我在一个具有一些 3rd 方依赖项的项目上运行 rebar3,其中一个在定义的规范方面存在问题。当我转到 rebar3 时,弹出一个新错误,表明我的一个方法调用违反了合同:
实际上,此代码与 atom 或 pid 完美配合。除了更新第三方库之外,有没有办法在不分叉代码的情况下覆盖该规范,或者只是忽略该特定错误?