Ответ 1
Модуль code - это то, как вы манипулируете путем в приложении.
Флаги -pa, которые вы использовали при запуске оболочки Erlang, действительно ссылаются на функцию в этом модуле:
add_patha(Dir) -> true | {error, What}
Вы правы в файле .erlang в своем домашнем каталоге - он запускается во время запуска оболочки, и вы можете добавить удобные пути.
Для приложения вы можете запустить оболочку с командным файлом, который вызывает что-то вроде этого:
erl -pa ./ebin ../../lib/some/path/ebin
Поведение правил erl описывается здесь.
Для более сложного управления путями вам нужно ознакомиться с тем, как выполняется Управление выпуском OTP (но я подозреваю, что для вас это время. пока).