所以,我是Elixir和Phoenix的新手。我做了一个hello world app。跟着一个人的博客应用程序。遵循凤凰框架的初始步骤。到目前为止,非常好。
但是,今晚我有新的东西。
每次我进行混合测试时,我都会得到以下结果:
hail2skins@elixir:~/workspace/phoenix/test_blog $ mix test
** (ArgumentError) argument error
:erlang.exit(nil, :normal)
(ecto) lib/ecto/adapters/postgres.ex:55: Ecto.Adapters.Postgres.stop/2
(ecto) lib/mix/ecto.ex:75: Mix.Ecto.ensure_stopped/2
test/test_helper.exs:4: (file)
(elixir) lib/code.ex:307: Code.require_file/2
现在,我可以在不同文件夹中的同一台服务器上的另一个应用程序中运行mix test。
我为此应用安装了Phoenix 1.03。但我确实在其他应用程序中看到我运行它的凤凰1.02。在任何情况下,我删除应用程序,构建一个新的,简单的应用程序,运行混合ecto.create像说明说,然后我立即尝试混合测试,它失败。每次我尝试新的应用程序都会失败。这对我来说是一个配置问题 - 我正在使用Cloud 9,正如我所说,其他应用程序上的一切似乎都很好,甚至这个也是正确的。
或者这是以前没有人见过的新东西?
如果另一个文件夹中同一个盒子上的另一个应用程序也失败了,那将会让我感到困惑。但是当我运行混合测试时,它工作正常。没有新的应用程序。
答案 0 :(得分:2)
看起来这是ecto 1.0.5版中的一个错误。我将行{:ecto, "== 1.0.4"}
添加到我的mix.exs文件的依赖项中,删除了deps和_build,它解决了这个问题。我想这会很快修复,但坚持使用ecto 1.0.4将解决这个问题。