代码之家  ›  专栏  ›  技术社区  ›  Gordon Isnor

部署中的Phoenix错误:模块连接不可用

  •  4
  • Gordon Isnor  · 技术社区  · 10 年前

    我正在开发一个Phoenix应用程序,在生产中遇到了一个问题,我在调试时遇到了麻烦。

    **(UndefinedFunctionError)未定义的函数:Connection。start_link/2(模块连接不可用)^M Connection.start_link(Postgrex.Connection,[主机名:“localhost”,超时:5000,otp_app::xxx,repo:xxx.repo,适配器:Ecto.Adapters.Postgres,用户名:“xxx”,密码:“xxx”,数据库:“xxx”,扩展名:[{Ecto.Adapters.Postgres.DateTime,[]},{Postgrex-extensions.JSON,[库:毒药]}],端口:5432])^M (ecto)lib/ecto/adapters/connection。例如:27:Ecto.适配器.连接.连接/2^M (ecto)lib/ecto/pools/poolboy/worker。例如:58:Ecto.Pools.Poolboy.Worker.handle_call/3^M (stdlib)gen_server。错误代码:629::gen_server.try_handle_call/4^M (stdlib)gen_server。erl:661::gen_server.handle_msg/5^M (标准库)proc_lib。错误:240::proc_lib.init_p_do_apply/3^M

    • 应用程序在我的开发机器上没有这样的问题
    • 应用程序正在我的生产机器上运行,但具有数据库访问权限的页面因此错误而失败
    • 与以前的无障碍应用程序相比,可能会影响此功能的更改包括:
      1. 凤凰城的更新版本
      2. Elixir 1.1对1.0;Postgrex、Ecto、Exrm等的最新版本。;
      3. 我正在尝试使用boldpoker/edeliver,而不是我之前炮制的Mina食谱;但我一直很难过,伊德利佛一直是一条崎岖不平的道路。
    1 回复  |  直到 10 年前
        1
  •  10
  •   José Valim    10 年前

    是的,这是Postgrex中的一个bug,已在master上修复。只需添加 :connection 添加到您的 mix.exs 文件