Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Erlang Escript:设置相对于脚本目录的代码路径_Erlang_Erlang Escript - Fatal编程技术网

Erlang Escript:设置相对于脚本目录的代码路径

Erlang Escript:设置相对于脚本目录的代码路径,erlang,erlang-escript,Erlang,Erlang Escript,当我尝试在一个带有-pz的escript中设置相对代码路径时,如下所示 #!/usr/bin/env escript %% -*- erlang -*- %%! -pz ../dir-of-some-beams 该路径是相对于运行escript的目录进行解释的,这使得它无法设置相对于脚本位置的路径 我目前的“变通方法”是使用绝对路径,这很烦人,因为所有这些都是存储库的一部分,我不希望它依赖于位置 那么,如何设置相对于escript所在目录的代码路径呢?我自己刚刚发现: 在main的开头添加如下

当我尝试在一个带有-pz的escript中设置相对代码路径时,如下所示

#!/usr/bin/env escript
%% -*- erlang -*-
%%! -pz ../dir-of-some-beams
该路径是相对于运行escript的目录进行解释的,这使得它无法设置相对于脚本位置的路径

我目前的“变通方法”是使用绝对路径,这很烦人,因为所有这些都是存储库的一部分,我不希望它依赖于位置


那么,如何设置相对于escript所在目录的代码路径呢?

我自己刚刚发现:

在main的开头添加如下代码:

true = code:add_pathz(filename:dirname(escript:script_name()) 
                       ++ "/../dir-of-some-beams"),
我建议总是使用这些
code
函数测试
true
,因为它很容易键入
code:add_pathsz
,它需要一个字符串列表,并且总是返回
ok
,即使只传递一个字符串,但它不会将代码路径设置为单个目录(顺便说一句,这是非常烦人的行为)