Erlang: добавить библиотеки в приложение
Я использую erlIDE (на основе Eclipse) для работы над проектами Erlang. До сегодняшнего дня все было хорошо, но сегодня я должен использовать внешнюю библиотеку (couchbeam) в своем приложении. Я узнал, что, черт возьми, кстати.)
Проблема проста - я не могу включить внешнюю библиотеку в путь компилятора. Я использовал rebar для получения зависимостей couchbeam, а также скачал ibrowse, mochiweb и ejson.
Как я могу включить эти библиотеки в путь к компилятору, не изменяя ERL_LIBS для работы над проектом в erlIDE?
Я не хочу изменять ERL_LIBS, потому что я могу изменить путь проектов, начать новый (затем мне нужно изменить ERL_LIBS снова) и так далее.
Я пробовал варианты компилятора в erlIDE:
{pa, {pa, 'site_stater/deps/couchbeam/'}}
или же
{pa, {pa, '../deps/couchbeam/'}}
где 'site_stater' - название проекта
Интересно, как профессиональные программисты на эрланге организуют рабочий процесс своих проектов (где они пишут проги на эрланге, как отлаживают, работают с внешними библиотеками и т. Д.).
Большое спасибо за ваше внимание.
ОБНОВЛЕНИЕ Я написал простую функцию для загрузки библиотек, но я думаю, что это все еще неправильный способ справиться с этой проблемой:
load_libraries() ->
ProjectRoot = filename:join([filename:absname("./"), "site_stater"]),
{ok, DepsList} = file:list_dir(ProjectRoot ++ "/deps/"),
lists:foreach(fun (Folder) ->
RealFolder = ProjectRoot ++ "/deps/" ++ Folder,
case filelib:is_dir(RealFolder) of
true ->
code:add_patha(filename:join([RealFolder, "/ebin"]));
false -> ok
end
end,
DepsList),
ok.
1 ответ
Я не могу проверить это прямо сейчас, но вы должны быть в состоянии использовать {pa, '../deps/couchbeam/'}
в настройках компилятора. Если это не сработает, попробуйте использовать абсолютный путь.
Настройки компилятора еще не закончены, мы планируем иметь более простой способ ссылаться на внешние библиотеки, но мы еще не там. Каждый такой запрос от пользователей увеличивает важность его исправления!
С уважением, Влад