Как установить прокси в Erlang escript? - PullRequest
0 голосов
/ 17 января 2019

Когда я собираюсь установить rebar3 в Windows7, я клонировал код из github, а затем использовал git bash для его установки. Но когда я набираю команду, она показывает, что `escript: ошибка исключения: нет совпадения со значением правой стороны:

{error, {malformed_url,xxxx_username,"passwd@proxy.com:8080"}}

Я в Китае и работаю в компании, которая блокирует мою сеть. Но у меня есть прокси, так как я могу установить прокси в escript или в этом случае, чтобы решить мою проблему?

1 Ответ

0 голосов
/ 19 января 2019

escript - это просто некоторый код erlang, и no match error происходит, когда что-то справа от знака равенства (который является оператором совпадения в erlang) не соответствует тому, что включено левая сторона знака равенства. Вот простой пример:

1> X = 20.
20

2> 3 = X.
** exception error: no match of right hand side value 20

Поскольку 3 не соответствует значению X, т. Е. 20, вы получаете ошибку совпадения, за которой следует любое значение справа, которое в данном случае равно 20.

В вашем случае значение с правой стороны - это опубликованный вами кортеж, что, очевидно, является ошибкой, возвращаемой любым выражением, которое было справа от рассматриваемого знака равенства. Например:

3> {ok, file} = file:open("non-existent", read).
** exception error: no match of right hand side value {error,enoent}

В этом примере file:open() вернул кортеж, начинающийся с атома error:

{error, enoent}

, который никогда не может соответствовать кортежу с левой стороны от знака равенства, начинающегося с атома ok:

{ok, file}

Что-то в коде сценария, который вы запустили, создал malformed_url.

...