Elixir Phoenix安装程序失败:编译错误,(KeyError)键:找不到模型

Elixir Phoenix安装程序失败:编译错误,(KeyError)键:找不到模型,elixir,phoenix-framework,Elixir,Phoenix Framework,我有postgres正在运行并可以连接到它,但是一个全新的phoenix应用程序通过mix phoenix.new reporting。我无法完成设置,无法执行exto.create,我只能说它没有连接到数据库。。。或者可能是别的虫子。。。基本上,我不知道从这里到哪里去 $ psql -p 5432 -h localhost reporting_dev postgres Password for user postgres: psql (9.6.1, server 9.6.2) Type "he

我有postgres正在运行并可以连接到它,但是一个全新的phoenix应用程序通过
mix phoenix.new reporting
。我无法完成设置,无法执行
exto.create
,我只能说它没有连接到数据库。。。或者可能是别的虫子。。。基本上,我不知道从这里到哪里去

$ psql -p 5432 -h localhost reporting_dev postgres
Password for user postgres:
psql (9.6.1, server 9.6.2)
Type "help" for help.

reporting_dev=#
这是我的
config/dev.exs

$ grep Reporting.Repo -A 6 config/dev.exs
config :reporting, Reporting.Repo,
  adapter: Ecto.Adapters.Postgres,
  username: "postgres",
  password: "postgres",
  database: "reporting_dev",
  hostname: "localhost",
  pool_size: 10
但是我无法完成
exto.create

$ mix ecto.create
warning: variable "aliases" does not exist and is being expanded to "aliases()", please use parentheses to remove the ambiguity or change the variable name
  mix.exs:12

warning: variable "deps" does not exist and is being expanded to "deps()", please use parentheses to remove the ambiguity or change the variable name
  mix.exs:13

warning: variable "deps" does not exist and is being expanded to "deps()", please use parentheses to remove the ambiguity or change the variable name
  /Users/alan/Code/eltoro/reporting/deps/phoenix_ecto/mix.exs:10

warning: variable "package" does not exist and is being expanded to "package()", please use parentheses to remove the ambiguity or change the variable name
  /Users/alan/Code/eltoro/reporting/deps/phoenix_ecto/mix.exs:14

==> phoenix_ecto
Compiling 4 files (.ex)

== Compilation error on file lib/phoenix_ecto/html.ex ==
** (KeyError) key :model not found in: %Phoenix.HTML.Form{data: nil, errors: {{:., [line: 12], [{:changeset, [line: 12], nil}, :errors]}, [line: 12], []}, hidden: [], id: {:name, [line: 10], nil}, impl: Phoenix.HTML.FormData.Ecto.Changeset, index: nil, name: {:name, [line: 11], nil}, options: [], params: %{}, source: {:changeset, [line: 8], nil}}
    (stdlib) :maps.update(:model, {:model, [line: 13], nil}, %Phoenix.HTML.Form{data: nil, errors: {{:., [line: 12], [{:changeset, [line: 12], nil}, :errors]}, [line: 12], []}, hidden: [], id: {:name, [line: 10], nil}, impl: Phoenix.HTML.FormData.Ecto.Changeset, index: nil, name: {:name, [line: 11], nil}, options: [], params: %{}, source: {:changeset, [line: 8], nil}})
    lib/phoenix_html/form.ex:170: anonymous fn/2 in Phoenix.HTML.Form.__struct__/1
    (elixir) lib/enum.ex:1755: Enum."-reduce/3-lists^foldl/2-0-"/3
    expanding struct: Phoenix.HTML.Form.__struct__/1
    lib/phoenix_ecto/html.ex:7: Phoenix.HTML.FormData.Ecto.Changeset.to_form/2

could not compile dependency :phoenix_ecto, "mix compile" failed. You can recompile this dependency with "mix deps.compile phoenix_ecto", update it with "mix deps.update phoenix_ecto" or clean it with "mix deps.clean phoenix_ecto"
这是我的基本版本

$ elixir -v
Erlang/OTP 19 [erts-8.2] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]

Elixir 1.4.1

$ uname -a
Darwin alan-MBP.local 15.6.0 Darwin Kernel Version 15.6.0: Mon Jan  9 23:07:29 PST 2017; root:xnu-3248.60.11.2.1~1/RELEASE_X86_64 x86_64 i386 MacBookPro11,5 Darwin

$ node --version
v6.7.0

是否您使用的是Phoenix.HTML的1.x版本,而您应该使用的是2.x

在版本1.x中,使用了术语model,而不是schema,它在2.x和最新的Phoenix版本中使用

vs


你确定你是最新的凤凰社吗?(
mix phoenix.new-v
应该打印1.2.1)事实上,它是最新的版本
phoenix v1.2.1
我不知道。实际上,我只是在遵循入门自述,并被卡住了。我可以用下一个版本试试。。。有这方面的指南吗?