Я пытаюсь добавить сваггер к существующему демонстрационному проекту erlang_rest_api в качестве обучающего опыта, но я, кажется, не очень далеко ...
Я клонировалРЕПО:
git clone https://github.com/dronowar/erlang_rest_api
Затем я добавил cowboy_swagger к rebar.config
:
{cowboy_swagger, ".*", {git, "git://github.com/inaka/cowboy_swagger.git"}}
И когда я строю, я получаю:
Dependency not available: jsx-2.9.0 (undefined)
Dependency not available: cowboy-2.5.0 (undefined)
Dependency not available: ranch-1.6.2 (undefined)
Dependency not available: trails-2.1.0 (undefined)
Поэтому я добавляю к rebar.config
:
{jsx, ".*", {git, "git://github.com/talentdeficit/jsx.git", {tag, "2.9.0"}}},
{ranch, ".*", {git, "git://github.com/ninenines/ranch.git", {tag, "1.6.2"}}},
{trails, ".*", {git, "git://github.com/inaka/cowboy-trails.git", {tag, "2.1.0"}}},
А потом я удаляю каталог deps
и строю заново:
...
==> poolboy (get-deps)
==> sync (get-deps)
==> katana_test (get-deps)
==> jsx (get-deps)
ERROR: Failed to load erlang_rest_api/deps/trails/rebar.config: {error,
{34,
file,
{error,
function_clause,
[{erl_eval,
'-inside-an-interpreted-fun-',
[katana_test],
[]},
{erl_eval,
eval_fun,
6,
[{file,
"erl_eval.erl"},
{line,
829}]},
{erl_eval,
expr_list,
6,
[{file,
"erl_eval.erl"},
{line,
888}]},
{erl_eval,
expr,
5,
[{file,
"erl_eval.erl"},
{line,
240}]},
{erl_eval,
expr_list,
6,
[{file,
"erl_eval.erl"},
{line,
888}]},
{erl_eval,
expr,
5,
[{file,
"erl_eval.erl"},
{line,
240}]},
{erl_eval,
eval_lc1,
6,
[{file,
"erl_eval.erl"},
{line,
706}]},
{erl_eval,
eval_generate,
7,
[{file,
"erl_eval.erl"},
{line,
735}]}]}}}
make: *** [Makefile:7: deps] Error 1
katana_test
, похоже, является своего рода тестированиеморудие труда. Я попытался добавить эти репозитории (inaka / katana-est) в rebar.config
, но это тоже не работает.
Я также попытался пометить ковбоя версией "2.5.0", как указано в "undefined" ранее, ноэто не имело значения.
Действительно ли нам нужно это конкретное, перечисляя каждый зависимый репозиторий каждой зависимости?
Я также попытался использовать hex вместо:
{jsx, ".*"},
{ranch, ".*"},
{trails, ".*"},
{cowboy_swagger, "2.1.0"}
но я все еще получил:
Dependency not available: jsx-.* (undefined)
Dependency not available: trails-.* (undefined)
Dependency not available: cowboy_swagger-2.1.0 (undefined)
ERROR: compile failed while processing
Я пропустил другую зависимость?