问题标签 [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 - 钢筋生成:enotdir 错误
我正在尝试为我的 otp 应用程序设置钢筋释放。我遵循了本指南:https ://github.com/basho/rebar/wiki/Getting-started
当我尝试生成一个版本时,我得到很多 enotdir 错误:
这是我的 erlang 版本:
我在http://cloud.github.com/downloads/basho/rebar/rebar获得了钢筋(请参阅 GettingStarted wiki 页面)。
更新:详细模式只添加一个警告,这是不相关的:
unit-testing - 多个应用程序的 Eunit 错误
我有以下目录结构:
myapp
我在主目录中使用 rebar 运行 eunit,如下所示:
它在apps/
. 之后它尝试在父myapp
目录中运行 eunit 并抛出以下错误:
问题:如何解决此问题或阻止 eunit 为父myapp
目录运行?
rebar.config
主目录中的文件如下myapp
所示:
erlang - Rebar deps 配置中元素的含义
我们正在使用 rebar 为我们的项目拉取依赖项,其中许多来自 github。我们的配置看起来像:
我已经足够了解了,并且通过反复试验,我学到了一些东西(例如,如何指定标签和变更集而不是分支),但是我的 google-fu 无法找到任何关于什么的综合文档选项可用或它们做什么。
我特别想知道第二个值的用途是(通常是空字符串,但我偶尔会在其中看到版本号和通配符),但是有关源代码控制选项的更多信息,或者只是一般的文档会有所帮助。
erlang - 运行 rebar eunit 时将运行时参数传递给 erlang
在我的启动脚本中,我开始使用 erlang:
目前,在尝试运行单元测试时rebar eunit
,我有没有办法将自定义运行时参数(例如 -args_file 选项)传递给 rebar 启动的 erlang 进程?我搜索了高低的文档无济于事......
我很感激帮助。
postgresql - 无法使用 rebar generate epgsql 开始发布
当我使用钢筋生成发布应用程序并尝试使用密钥控制台启动它时出现错误
{"init 终止于 do_boot",{'cannot load',pgsql,get_file}}。
在所有文件 app.src 和 reltool.config 中,我添加了 epgsql 应用程序。
应用程序.src:
reltool.config
当我从 erl shell 启动它时一切正常,但是当我生成发布时我有错误。当我关闭 epgsql 应用程序启动正常并且我看到所有应用程序(加密、ssl、public_key 已加载),但如果再次添加 epgsql 有错误。
我究竟做错了什么?
erlang - Rebar:“发布 mynode 使用不存在的应用程序 mynode”
我一直在尝试使用 Rebar 设置一个简单的 Erlang 应用程序,但无法让它工作。我按照http://skeptomai.com/?p=56上的说明进行操作,运行时./rebar -v generate
出现此错误:
关注https://bitbucket.org/basho/rebar/wiki/ReleaseHandling时出现类似错误。关注http://www.metabrew.com/article/erlang-rebar-tutorial-generating-releases-upgrades时,我得到:
如何让钢筋工作?我的 Erlang 版本是Erlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false]
git - Git 子模块和钢筋
我的应用程序使用 Mochiweb。据我了解,rebar
当我运行时从 Github 获取最新版本make
,因为有一行rebar.config
:
我的应用程序有一个 VCS,它是 git。所以,基本上我在另一个里面有一个 git 存储库:
我知道在另一个存储库中添加一个 git 存储库不是一个好主意(git add .
)。应该使用 Git 子模块功能。
因此,我将该deps/mochiweb
目录作为子模块添加到主 git 存储库中。
问题是,当另一个开发人员克隆他必须首先克隆的主存储库init
和update
子模块时deps/mochiweb
(否则它将是空的)。
如果开发人员make
在克隆主存储库后立即运行,则 Makefile 会显示以下内容:
我的问题是:将另一个应用程序添加到 Erlang 应用程序的部门以允许其他开发人员在不使用 git 子模块的情况下轻松更新的正确方法是什么?
makefile - Mochiweb:包含和编译其他库
我的应用程序使用 Mochiweb。
我注意到 Mochiweb 文件驻留在myapp/deps/mochiweb
目录中,rebar
并在我在目录中运行 make 时编译它们myapp
。
我想添加ibrowse
一些测试来向我的应用程序发出 http 请求。所以我ibrowse
从github克隆到myapp/deps/ibrowse
目录。
但似乎 Erlang 不知道从哪里获取.beam
文件ibrowse
,因此我使用该ibrowse
模块的所有测试都失败了:
如何让基于 Mochiweb 的应用程序使用其他 Erlang/OTP 外部库?
我应该为此编辑 rebar.config 或 Makefile 吗?或者我应该编辑一个 _app.src 文件?
编辑:也许我应该编辑 myapp_sup.erl 文件中的目录列表?( myapp_deps:local_path(["priv", "www"]
)
PS 我的应用程序如何知道所有 mochiweb.beam 文件所在的位置?(例如,泛型myapp_web.erl
使用了对mochiweb_http
模块的调用,但目录中没有mochiweb_http.beam
)myapp/ebin
。
erlang - 如何查看所有可用的 reltool 覆盖模板变量?
我有一个相当标准的 OTP 设置,带有 rebar 和 reltool。我已经设置 reltool 使用 vars.config 来交换覆盖模板变量,{overlay_vars, "files/vars.config"}.
我注意到除了我在 vars.config 中列出的变量之外的变量也可以用作覆盖模板变量,其中最明显的一个是{{erts_vsn}}
.
我假设还有其他内置变量;我如何找到它们是什么?我已经梳理了 reltool 文档,但一无所获。
erlang - 何时使用 erlang application:start 或 included_applications 和主管?
我有一个 Erlang 应用程序,它在其 deps 目录中依赖于另一个应用程序。
据我了解,我可以;
a) 通过调用 application:start(some_other_app) 从我的包含应用程序启动我的依赖应用程序,该应用程序启动应用程序并显示它在 Observer 中独立运行。
b) 使用 {included_applications, [some_other_app]} 将我的依赖应用程序包含在我的 .app 文件中,以便加载应用程序而不启动,然后从我自己的顶级主管启动包含的应用程序。这再次启动了包含的应用程序,并显示它在 Observer 中我自己的监督层次结构下运行。
我的问题是我什么时候应该使用这两种方法?如果我使用选项“a”并且我的依赖应用程序退出,它将重新启动还是应该使用方法“b”以便相应地监视我的任何依赖关系?
在旁注中,我使用 Rebar 来打包和管理我的依赖项。
谢谢,
安迪。