【问题标题】:Can't build Phoenix project after Elixir and hex updateElixir 和十六进制更新后无法构建 Phoenix 项目
【发布时间】:2023-03-26 00:14:01
【问题描述】:

我昨天将我的 Elixir 更新为最新版本,并将十六进制更新为 0.10.4 从那时起,我在尝试运行之前运行良好的应用程序时遇到了各种错误。

这里是日志:

==> postgrex
Compiled lib/postgrex/binary_extension.ex
Compiled lib/postgrex/app.ex
Compiled lib/postgrex/binary_utils.ex
Compiled lib/postgrex/extension.ex
Compiled lib/postgrex/extensions/bool.ex
Compiled lib/postgrex/extensions/date.ex
Compiled lib/postgrex/error.ex
Compiled lib/postgrex/extensions/float4.ex
Compiled lib/postgrex/error_code.ex
Compiled lib/postgrex/extensions/array.ex
Compiled lib/postgrex/extensions/int2.ex
Compiled lib/postgrex/extensions/int4.ex
Compiled lib/postgrex/extensions/float8.ex
Compiled lib/postgrex/extensions/int8.ex
Compiled lib/postgrex/extensions/hstore.ex
Compiled lib/postgrex/extensions/json.ex
Compiled lib/postgrex/extensions/interval.ex
Compiled lib/postgrex/extensions/raw.ex
Compiled lib/postgrex/extensions/oid.ex
Compiled lib/postgrex/extensions/network.ex
Compiled lib/postgrex/extensions/macaddr.ex
Compiled lib/postgrex/builtins.ex
Compiled lib/postgrex/extensions/point.ex
Compiled lib/postgrex/extensions/tid.ex
Compiled lib/postgrex/extensions/record.ex
Compiled lib/postgrex/extensions/range.ex
Compiled lib/postgrex/extensions/numeric.ex
Compiled lib/postgrex/extensions/void.ex
Compiled lib/postgrex/extensions/uuid.ex
Compiled lib/postgrex/extensions/time.ex
Compiled lib/postgrex/extensions/timestamp.ex
Compiled lib/postgrex/result.ex
Compiled lib/postgrex/type_info.ex
Compiled lib/postgrex/utils.ex
Compiled lib/postgrex/type_server.ex
Compiled lib/postgrex.ex
Compiled lib/postgrex/parameters.ex
Compiled lib/postgrex/notifications.ex
Compiled lib/postgrex/query.ex
Compiled lib/postgrex/types.ex
Compiled lib/postgrex/messages.ex

== Compilation error on file lib/postgrex/protocol.ex ==
** (CompileError) lib/postgrex/protocol.ex:61: Postgrex.Protocol.__struct__/0 is undefined, cannot expand struct Postgrex.Protocol
    (elixir) src/elixir_map.erl:58: :elixir_map.translate_struct/4

无法确定我是否做错了什么。

混合 hex.info:

Hex:    0.10.4
Elixir: 1.2.3
OTP:    18.0

Built with: Elixir 1.2.1 and OTP 18.2.2

Registry file available (last updated: 2016-02-29 18:02:10)
Size: 1541kB (compressed 501kb)
Packages #: 1626
Versions #: 7211

【问题讨论】:

  • 你试过rm -rf build/吗?有时升级不兼容。
  • 你的 postgrex 依赖版本是什么?看起来它正在寻找一些 postgrex 中不存在的功能。
  • 我也会质疑那些版本不匹配的问题。 Elixir 是 1.2.3 和 1.2.1,OTP 是 18.2.2 和 18.0——听起来不太对劲。
  • 从 phoenix 1.0.3 升级后,我从 homebrew 安装了最新的 elixir 后遇到了同样的问题。 mix hex.info 是一样的。
  • 删除 _build 对我有用

标签: postgresql elixir phoenix-framework


【解决方案1】:

供其他可能遇到此问题并想知道该怎么做的人参考--尝试删除 _build 目录(通过上面的@ason​​ge 和@MichealJohnston)。

将此答案标记为社区 wiki,因为这不是我的答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-19
    • 1970-01-01
    • 2019-02-27
    • 2017-10-21
    • 1970-01-01
    • 2014-04-12
    • 2021-12-01
    相关资源
    最近更新 更多