从添加的代码路径加载erlang模块时出现问题

时间:2016-02-05 07:40:58

标签: module erlang

我创建了一个.erlang文件来指定我的工作目录并在启动时加载某些模块。我使用了here的答案,当所有要加载的模块都驻留在当前工作目录中时,它运行良好:

shell_default:cd("C:/Users/Some/Default/Working Directory/ebin").
LP = fun() ->
        [code:ensure_loaded(list_to_atom(filename:rootname(filename:basename(F))))
         || P <- code:get_path(), F <- filelib:wildcard(P ++ "/*.beam")] 
     end.
spawn(LP).

当我尝试从其他目录加载模块时,遇到了一些麻烦。我更改了.erlang文件:

shell_default:cd("C:/Users/Some/Default/Working Directory/ebin").
code:add_patha("C:/Users/Some/Other/File Location/ebin").
LP = fun() ->
        [code:ensure_loaded(list_to_atom(filename:rootname(filename:basename(F))))
         || P <- code:get_path(), F <- filelib:wildcard(P ++ "/*.beam")]
     end.
spawn(LP).

由于某种原因,未加载添加的代码路径中的模块(我检查了路径确实已添加到代码路径中)。当我使用所需的代码路径单独测试filelib:wildcard(code:get_path() ++ "/*.beam")时,我看到它返回一个空字符串(即它似乎没有在添加的代码路径中找到.beam文件)。

如何解决这个问题?谢谢!

0 个答案:

没有答案