2017-02-10 7 views
0

У меня есть postgres работает и может подключиться к ней, но новое приложение phoenix через mix phoenix.new reporting. Я не могу завершить настройку, не могу сделать ecto.create, и лучшее, что я могу сказать, это то, что она не подключалась к базе данных ... или, может быть, это какая-то другая ошибка ... в основном, я не знаю, куда идти отсюда ,Ошибка установки Phoenix: Ошибка компиляции, (KeyError): модель не найдена

$ 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 

, но я не могу завершить ecto.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 
+1

Вы уверены, что вы находитесь на последней Феникс? ('mix phoenix.new -v' должен печатать 1.2.1) – Dogbert

+0

Действительно, это самая современная версия' Phoenix v1.2.1' – zeroasterisk

ответ

0

Может быть, тха t вы используете 1.x версию Phoenix.HTML, где, как вы должны использовать 2.x.

В версии 1.x использовался термин модель по схеме, которая используется в версии 2.x и в последней версии Phoenix.

https://github.com/phoenixframework/phoenix_html/blob/v1.4.0/lib/phoenix_html/form.ex#L166

против

https://github.com/phoenixframework/phoenix_html/blob/v2.9.3/lib/phoenix_html/form.ex#L170

+0

Я понятия не имею. Я буквально сразу после начала чтения и застрял. Я могу дать ему попробовать следующую версию ... Есть ли руководство для этого? – zeroasterisk