我想使用lager作为我的日志实用程序,并且我已按照以下方式对我的项目进行了组织:
proj\
|
|--lager\
| |--src\
| |--ebin\
| |--...
|
|--logserver\
| |--src\
| |--ebin\
| |--rebar.config
| |--...
|
|--rebar
|
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试编译logserver时,我总是遇到以下错误:
D:\ proj\logserver> ..\rebar编译
==> logserver (compile)
src/logserver_app.erl:none: error in parse transform 'lager_transform': {undef,
[{lager_transform,
parse_transform,
[[{attribute,1,file,
{"src/logserver_app.erl",1}},
...
Run Code Online (Sandbox Code Playgroud)
有人知道原因吗?谢谢!
这些是一些额外的信息:
rebar的配置文件(D:\ proj\logserver\rebar.config):
... {erl_opts,[{parse_transform,lager_transform},debug_info,{d,'TEST'},{i,"include"},{src_dirs,["src"]}]}.
{lib_dirs,["..\lager\ebin"]}....
您是否在您的 中添加了啤酒作为依赖项rebar.config?我猜啤酒不在路上。
来自钢筋维基:
\n\n\n\n\n要在应用程序中使用 lager,您需要将其定义为 rebar dep\n 或使用其他方式将其包含在 erlang\xe2\x80\x99s 路径中。然后您可以将以下选项添加到 erlang 编译器标志中:
\n\nRun Code Online (Sandbox Code Playgroud)\n{parse_transform, lager_transform}\n
您可以通过编辑以下内容来添加 \'lager\' 作为依赖项rebar.config:
%% == Dependencies ==\n\n%% Where to put any downloaded dependencies. Default is "deps"\n{deps_dir, "deps"}.\n\n%% What dependencies we have, dependencies can be of 3 forms, an application\n%% name as an atom, eg. mochiweb, a name and a version (from the .app file), or\n%% an application name, a version and the SCM details on how to fetch it (SCM\n%% type, location and revision). Rebar currently supports git, hg, bzr and svn.\n{deps, [application_name,\n {application_name, "1.0.*"},\n {application_name, "1.0.*",\n {git, "git://github.com/basho/rebar.git", {branch, "master"}}}]}.\nRun Code Online (Sandbox Code Playgroud)\n\n在你的情况下,应该是这样的:
\n\n{deps, [{lager, ".*", {git, "git://github.com/basho/lager.git", "HEAD"}}]}.\nRun Code Online (Sandbox Code Playgroud)\n\n有关 rebar 依赖管理器的更多信息,请参见此处:
\n\nhttps://github.com/basho/rebar/wiki/Dependency-management
\n| 归档时间: |
|
| 查看次数: |
3837 次 |
| 最近记录: |