我密切关注有关依赖项管理和发布处理的 rebar 文档,并尝试创建一个类似于我之前的问题之一的已接受答案中描述的发布。
但是,我不能将偏航作为 OTP 应用程序包含在钢筋生成的 OTP 版本中。
这是我所做的:
- 根据官方钢筋文档创建一个版本(完成,可以使用 /rel/myapp/bin/myapp start 运行一个简单的 gen_server)
- 在项目目录下的rebar.config文件中指定yaws依赖
- 运行
rebar get-deps
(这会拉偏航和 ibrowse) - 将此添加到
reltool.config
:{app, yaws, [{incl_cond, include}]}
- 将 yaws 添加到应用程序列表中
myapp.app.src
rebar compile generate
:
...
==> Leaving directory '/myapp/deps/yaws/rel'
==> yaws (compile)
yaws.erl:13: can't find include file "yaws_appdeps.hrl"
yaws.erl:220: undefined macro 'YAWS_APPDEPS'
yaws.erl:174: function start_app_deps/0 undefined
yaws.erl:194: function start_app_deps/0 undefined
ERROR: Command [compile] failed!
笔记:
官方的 yaws文档似乎对这个问题没有很好的解释。
如果我将 yaws 更改为牛仔,我不会收到这样的错误。
更新
这是我的目录结构:
.
├── apps
│ └── myapp
├── deps
│ ├── ibrowse
│ └── yaws
└── rel
└── files