偶尔,当我在我的Elixir代码中输入一个错字并发生一个CompileError
时,即使我修好了所有内容并继续打印,Phoenix也拒绝生活刷新App.Endpoint.path/1 is undefined
(App
是我的应用程序) 。当然,终点是定义得非常好,只要我重新启动mix phoenix.server
就会再次运行。凤凰在编译时出错
据我所知,我在最新版本的一切。由于我在网上找不到任何关于这个错误的信息,我怀疑我的配置有误,我很感谢你对如何找到这个错误的建议。
[info] Sent 200 in 200ms
iex[debug] Live reload: web/resolver/reviewer.ex
[debug] Live reload: web/resolver/reviewer.ex
Compiling 20 files (.ex)
== Compilation error on file web/resolver/reviewer.ex ==
** (Ecto.Query.CompileError) unbound variable `f` in query
(ecto) expanding macro: Ecto.Query.preload/3
(app) web/resolver/reviewer.ex:519: App.Resolver.Reviewer.sc_data/1
(elixir) expanding macro: Kernel.|>/2
(app) web/resolver/reviewer.ex:520: App.Resolver.Reviewer.sc_data/1
(elixir) lib/kernel/parallel_compiler.ex:116: anonymous fn/4 in Kernel.ParallelCompiler.spawn_compilers/1
[error] #PID<0.2279.0> running App.Endpoint terminated
Server: localhost:4000 (http)
Request: GET /reviewers/2016/1234
** (exit) an exception was raised:
** (UndefinedFunctionError) function App.Endpoint.path/1 is undefined (module App.Endpoint is not available)
(app) App.Endpoint.path("/phoenix/live_reload/frame")
(phoenix_live_reload) lib/phoenix_live_reload/live_reloader.ex:115: Phoenix.LiveReloader.reload_assets_tag/1
(phoenix_live_reload) lib/phoenix_live_reload/live_reloader.ex:97: anonymous fn/1 in Phoenix.LiveReloader.before_send_inject_reloader/1
(elixir) lib/enum.ex:1623: Enum."-reduce/3-lists^foldl/2-0-"/3
(plug) lib/plug/conn.ex:909: Plug.Conn.run_before_send/2
(plug) lib/plug/conn.ex:355: Plug.Conn.send_resp/1
(phoenix) lib/phoenix/code_reloader.ex:50: Phoenix.CodeReloader.call/2
(app) lib/app/endpoint.ex:1: App.Endpoint.phoenix_pipeline/1
(app) lib/plug/debugger.ex:93: App.Endpoint."call (overridable 3)"/2
(app) lib/app/endpoint.ex:1: App.Endpoint.call/2
(plug) lib/plug/adapters/cowboy/handler.ex:15: Plug.Adapters.Cowboy.Handler.upgrade/4
(cowboy) src/cowboy_protocol.erl:442: :cowboy_protocol.execute/4
[error] Ranch protocol #PID<0.2281.0> (:cowboy_protocol) of listener App.Endpoint.HTTP terminated
** (exit) killed
Compiling 20 files (.ex)
== Compilation error on file web/resolver/reviewer.ex ==
** (Ecto.Query.CompileError) unbound variable `f` in query
(ecto) expanding macro: Ecto.Query.preload/3
(app) web/resolver/reviewer.ex:519: App.Resolver.Reviewer.sc_data/1
(elixir) expanding macro: Kernel.|>/2
(app) web/resolver/reviewer.ex:520: App.Resolver.Reviewer.sc_data/1
(elixir) lib/kernel/parallel_compiler.ex:116: anonymous fn/4 in Kernel.ParallelCompiler.spawn_compilers/1
^C
BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
(v)ersion (k)ill (D)b-tables (d)istribution
也许你可以完全确定,你的端点是好的,只需要附加它。 – PatNowak
好的,所以终点似乎实际上已经死了。我偶尔会得到**(退出)异常: **(UndefinedFunctionError)函数App.Endpoint.call/2未定义(模块App.Endpoint不可用)。一个端点如何死亡,而不是由主管重新启动? –
您的终端是使用Phoenix.endpoint还是您最近更改了您的应用的名称,并且在终端中也没有更改? – PatNowak