2015-09-25 104 views
4

我正在通过Dave Thomas编写“Elixir”程序。我现在达到了创建第一个混音项目的地步。 HTTPoison刚刚推出并添加到mix.exs中的应用程序功能中。现在该项目应该首次使用iex -S mix进行编译。那时我遇到了ssl_verify_hostname的问题。安装erlang-srcerlang-dev后,我现在坚持了虽然从来就搜索到了这个输出我无法找到任何有用的信息的不同部位以下控制台输出无法编译简单的Elixir项目

$ 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

哪个药剂版本您使用的?你能把项目上传到Github吗?我们来看看?真的很奇怪,正在发生。 –

+2

其实。恐怕你有一个'rebar'问题(钢筋是一个Erlang构建工具)。确保你卸载了你可用的任何“钢筋”(检查“哪个钢筋”),然后再试一次。 –

+0

@JoséValim:Elixir版本是1.0.5。我推动了这个项目(https://github.com/bloodyroot/elixirbook_issues)。未安装“钢筋”。这可能是问题吗? –

回答

0

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

混合deps.get(它依赖的下载)

混合DEPS(它安装依赖)

+1

不幸的是,这并不适合我。事实上,就像Jose Valim所说的那样,它确实似乎是一个“螺纹钢”问题。但直到现在我还不知道如何摆脱它。与此同时,我正在运行一个VirtualBox映像,在那里我可以使用混合。 –