【发布时间】:2017-04-10 02:58:58
【问题描述】:
我有简单的功能:
do_stuff(_Whatever) ->
jiffy:decode(<<"{\"foo\": \"bar\"}">>).
如您所见,它取决于库 jiffy。于是我加在rebar.config:
{deps, [
{cowboy, {git, "https://github.com/ninenines/cowboy", {tag, "2.0.0-pre.1"}}},
{jiffy, {git, "https://github.com/davisp/jiffy", {tag, "0.14.8"}}}
]}.
{relx, [{release, { myapp, "0.1.0" },
[vizcerl,
sasl
]},
%{sys_config, "./config/sys.config"},
%{vm_args, "./config/vm.args"},
{dev_mode, true},
{include_erts, false},
{extended_start_script, true}]
}.
但是当我运行 rebar3 run 并且程序 get 执行该操作时,我收到错误,指出该函数未定义。
编辑:
我运行 rebar3 tree 来检查 dep 是否被识别,结果如下:
└─ myapp─0.1.0 (project app)
├─ cowboy─2.0.0-pre.1 (git repo)
│ ├─ cowlib─1.0.0 (git repo)
│ └─ ranch─1.0.0 (git repo)
└─ jiffy─0.14.8 (git repo)
【问题讨论】:
-
您是否先运行
rebar3 upgrade。如果我是正确的,它将在 deps 目录中安装所有必要的依赖项。 -
当然...我也清理了所有东西。编辑:我刚刚做了 rebar3 升级,没有任何改变。
-
@Pascal 另外值得注意的是,cowboy 有效,而 jiffy 无效
-
愚蠢的问题,但是如果你用
erlc编译它会得到什么? -
@OnorioCatenacci 愚蠢的问题,这不是用于编译单个文件吗?我该如何为整个项目做到这一点?