gpt4 book ai didi

elixir - dialyzer 无法识别 elixir 函数,错误为 :0:unknown_function

转载 作者:行者123 更新时间:2023-12-05 03:04:51 24 4
gpt4 key购买 nike

我在我的电脑上使用 asdf 安装了 elixir 1.7.2,包括 elixir 和 erlang otp 21。在我的项目混合文件中,我按照 dialyzer github 上的说明添加了透析器的最新发布候选版本。

{:dialyxir, "~> 1.0.0-rc.3", only: [:dev], runtime: false} 

当我运行 mix dialyzer 时,我在创建 plt 时遇到了一些错误,其中包括:

Could not get Core Erlang code for: /home/sigu/.asdf/installs/elixir/1.7.2/lib/elixir/ebin/elixir_parser.beam

Recompile with +debug_info or analyze starting from source code Could not get Core Erlang code for: /home/sigu/.asdf/installs/elixir/1.7.2/lib/logger/ebin/Elixir.Logger.ErlangHandler.beam

然后一切都失败了,错误包括 elixir 内置函数,如 System.get_env/1

:0:unknown_function
Function System.get_env/1 does not exist.

最佳答案

原来这个错误是由于当我安装elixir时,asdf使用了一个用erlang otp-20预编译的版本。当 dialyzer 尝试创建 plt 时,它找不到使用 otp-21 编译的 elixir 1.7.2。

要解决此问题,请按照 asdf/elixir github 上的说明安装使用 otp-21 预编译的 elixir - 感谢 elixir slack 我找到了解决方案

asdf install elixir 1.7.2-otp-21

命令安装使用 otp-21 预编译的 elixir。

现在一切都应该按预期工作

关于elixir - dialyzer 无法识别 elixir 函数,错误为 :0:unknown_function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52671393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com