升级Elixir后出现诸如“ Phoenix.HTML.Engine.init / 1未定义或私有”和“ Plug.Conn .__ struct __ / 1未定义”的错误

Hen*_*k N 5 elixir phoenix-framework

我升级到Elixir 1.3。当我尝试启动Phoenix应用程序时mix phoenix.server出现错误:

== Compilation error on file web/views/page_view.ex ==
** (UndefinedFunctionError) function Phoenix.HTML.Engine.init/1 is undefined or private
Run Code Online (Sandbox Code Playgroud)

尝试通过升级库来修复它,但出现其他错误,例如:

** (CompileError) lib/poison/parser.ex:11: Poison.SyntaxError.__struct__/1 is undefined, cannot expand struct Poison.SyntaxError
Run Code Online (Sandbox Code Playgroud)

== Compilation error on file lib/plug/test.ex ==
** (CompileError) lib/plug/test.ex:53: Plug.Conn.__struct__/1 is undefined, cannot expand struct Plug.Conn
    (stdlib) lists.erl:1353: :lists.mapfoldl/3
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Hen*_*k N 5

对我来说似乎要解决的问题是强制依赖项重新编译:

mix deps.compile --force
Run Code Online (Sandbox Code Playgroud)

如果在尝试运行测试时收到错误消息,请尝试:

MIX_ENV=test mix deps.compile --force
Run Code Online (Sandbox Code Playgroud)