首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装菲尼克斯Live仪表板后未定义的函数错误

安装菲尼克斯Live仪表板后未定义的函数错误
EN

Stack Overflow用户
提问于 2022-04-27 13:27:51
回答 1查看 994关注 0票数 1

当我尝试使用菲尼克斯直播仪表板时,我得到了这个错误

代码语言:javascript
复制
[2022-04-27 10:15:55.423][][error] #PID<0.4393.0> running gerardWeb.Endpoint (connection #PID<0.4388.0>, stream id 2) terminated
Server: localhost:4000 (http)
Request: GET /dashboard/home
** (exit) an exception was raised:
    ** (UndefinedFunctionError) function Phoenix.HTML.attributes_escape/1 is undefined or private
        (phoenix_html) Phoenix.HTML.attributes_escape([{{:safe, "data-page"}, :home}])
        (phoenix_live_dashboard) lib/phoenix/live_dashboard/page_live.ex:3: anonymous fn/2 in Phoenix.LiveDashboard.PageLive.render/1
        (phoenix_live_view) lib/phoenix_live_view/diff.ex:387: Phoenix.LiveView.Diff.traverse/7
        (phoenix_live_view) lib/phoenix_live_view/diff.ex:494: anonymous fn/4 in Phoenix.LiveView.Diff.traverse_dynamic/7
        (elixir) lib/enum.ex:1925: Enum."-reduce/3-lists^foldl/2-0-"/3
        (phoenix_live_view) lib/phoenix_live_view/diff.ex:387: Phoenix.LiveView.Diff.traverse/7
        (phoenix_live_view) lib/phoenix_live_view/diff.ex:138: Phoenix.LiveView.Diff.render/3
        (phoenix_live_view) lib/phoenix_live_view/static.ex:244: Phoenix.LiveView.Static.to_rendered_content_tag/4
        (phoenix_live_view) lib/phoenix_live_view/static.ex:126: Phoenix.LiveView.Static.render/3
        (phoenix_live_view) lib/phoenix_live_view/controller.ex:39: Phoenix.LiveView.Controller.live_render/3
        (phoenix) lib/phoenix/router.ex:355: Phoenix.Router.__call__/2
        (gerard) lib/plug/error_handler.ex:80: gerardWeb.Router.call/2
        (gerard) lib/gerard_web/endpoint.ex:1: gerardWeb.Endpoint.plug_builder_call/2
        (gerard) lib/plug/debugger.ex:136: gerardWeb.Endpoint."call (overridable 3)"/2
        (gerard) lib/gerard_web/endpoint.ex:1: gerardWeb.Endpoint.call/2
        (phoenix) lib/phoenix/endpoint/cowboy2_handler.ex:54: Phoenix.Endpoint.Cowboy2Handler.init/4
        (cowboy) /home/txhgkl/Documents/blink/gerard/deps/cowboy/src/cowboy_handler.erl:37: :cowboy_handler.execute/2
        (cowboy) /home/txhgkl/Documents/blink/gerard/deps/cowboy/src/cowboy_stream_h.erl:300: :cowboy_stream_h.execute/3
        (cowboy) /home/txhgkl/Documents/blink/gerard/deps/cowboy/src/cowboy_stream_h.erl:291: :cowboy_stream_h.request_process/3
        (stdlib) proc_lib.erl:249: :proc_lib.init_p_do_apply/

我的依赖关系如下所示:

代码语言:javascript
复制
{:ecto_sql, "~> 3.6.2"},      
{:phoenix, "~> 1.6.0"},
{:phoenix_live_view, "~> 0.17.7"},
{:phoenix_html, "~> 2.9", override: true},
{:phoenix_pubsub, "~> 2.0"},
{:phoenix_live_dashboard, "~> 0.6.5", override: true},
{:postgrex, "~> 0.15"},

我已经试图将我的phoenix_live_dashboard降级为0.50.4,同样的问题再次发生。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-27 23:59:02

包含phoenix_html定义的第一个Phoenix.HTML.attributes_escape/1版本是3.1.0,但是您强制用{:phoenix_html, "~> 2.9", override: true}重写依赖项以使用旧版本。

删除override: true选项,并至少指定一个"~> 3.1"版本(在撰写本文时,3.2.0是最新版本)。如果您有一个收敛的依赖解决问题,您可以更新旧的2.9.x版本的旧依赖项,或者重新设置覆盖选项,并进行测试,以确保新版本不会发生任何破坏应用程序的更改。

该函数的文档是可在十六进制上使用,您可以观察到,如果您将十六进制转换为v2.9.x,则未定义该函数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72029645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档