无法编译简单的Elixir项目

时间:2015-09-25 20:04:19

标签: elixir mix

我正在通过戴夫托马斯的'编程Elixir'工作。我现在达到了创建第一个混合项目的程度。 HTTPoison刚刚被引入并添加到mix.exs中的应用程序功能中。现在应该使用iex -S mix第一次编译项目。那时我遇到ssl_verify_hostname的问题。安装erlang-srcerlang-dev后,我现在停留在以下控制台输出

$ iex -S mix
Erlang/OTP 18 [erts-7.1] [source] [64-bit] [smp:8:8] [async-threads:10] [kernel-poll:false]

WARN:  Expected /home/..../issues/deps/idna to be an app dir (containing ebin/*.app), but no .app found.
WARN:  Expected /home/..../issues/deps/ssl_verify_hostname to be an app dir (containing ebin/*.app), but no .app found.
==> hackney (compile)
WARN:  Expected /home/..../issues/deps/idna to be an app dir (containing ebin/*.app), but no .app found.
WARN:  Expected /home/..../issues/deps/ssl_verify_hostname to be an app dir (containing ebin/*.app), but no .app found.
Dependency not available: idna-.* ({git,
                                       "https://github.com/benoitc/erlang-idna",
                                       {tag,"1.0.2"}})
Dependency not available: ssl_verify_hostname-.* ({git,
                                                   "https://github.com/deadtrickster/ssl_verify_hostname.erl",
                                                   {tag,"1.0.5"}})
** (ArgumentError) argument error
    (stdlib) :io.put_chars(#PID<0.26.0>, :unicode, <<69, 82, 82, 79, 82, 58, 32, 99, 111, 109, 112, 105, 108, 101, 32, 102, 97, 105, 108, 101, 100, 32, 119, 104, 105, 108, 101, 32, 112, 114, 111, 99, 101, 115, 115, 105, 110, 103, 32, 47, 104, 111, 109, 101, 47, 114, 107, 114, 97, 117, ...>>)
    (mix) lib/mix/shell.ex:78: Mix.Shell.do_cmd/2
    (mix) lib/mix/tasks/deps.compile.ex:161: anonymous fn/5 in Mix.Tasks.Deps.Compile.do_command/4
    (mix) lib/mix/project.ex:196: Mix.Project.in_project/4
    (elixir) lib/file.ex:1061: File.cd!/2
    (mix) lib/mix/dep.ex:137: Mix.Dep.in_dependency/3
    (mix) lib/mix/tasks/deps.compile.ex:160: Mix.Tasks.Deps.Compile.do_command/4
    (mix) lib/mix/tasks/deps.compile.ex:59: anonymous fn/3 in Mix.Tasks.Deps.Compile.compile/1

虽然我搜索了此输出的不同部分,但我找不到任何有用的信息。

1 个答案:

答案 0 :(得分:0)

您必须在运行代码之前安装所有依赖项。

mix deps.get(它确实下载了依赖项)

mix deps(它安装依赖项)