Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
透析器可以使用哪个版本的elixir otp erlang? 背景_Elixir_Otp_Dialyzer - Fatal编程技术网

透析器可以使用哪个版本的elixir otp erlang? 背景

透析器可以使用哪个版本的elixir otp erlang? 背景,elixir,otp,dialyzer,Elixir,Otp,Dialyzer,最新版本的Elixir(1.7.X)有一个 现在,我知道以前的一些版本没有这个问题,但我不知道是哪个版本 我试过的 我已经测试了以下构建: 1.7.2-otp-21 1.7.3-otp-21 1.7.4-otp-21 所有这些都不能正常工作 该错误可通过MWE复制: 问题: 什么是elixir otp erlang的最新版本不受此bug影响?我编写了一个脚本(使用docker官方图像)对所有1.7版本进行测试,但所有版本都失败了 最新的有效版本似乎是1.6.6 root@0697cad2

最新版本的Elixir(1.7.X)有一个

现在,我知道以前的一些版本没有这个问题,但我不知道是哪个版本

我试过的 我已经测试了以下构建:

1.7.2-otp-21
1.7.3-otp-21
1.7.4-otp-21
所有这些都不能正常工作

该错误可通过MWE复制:

问题: 什么是elixir otp erlang的最新版本不受此bug影响?

我编写了一个脚本(使用docker官方图像)对所有
1.7
版本进行测试,但所有版本都失败了

最新的有效版本似乎是
1.6.6

root@0697cad23f07:/data# mix dialyzer
Finding suitable PLTs
Checking PLT...
[:accept, :compiler, :crypto, :elixir, :kernel, :logger, :mime, :plug, :plug_crypto, :prometheus, :prometheus_ex, :prometheus_plugs, :stdlib]
PLT is up to date!
Starting Dialyzer
[
  check_plt: false,
  init_plt: '/data/_build/dev/dialyxir_erlang-20.3.8.14_elixir-1.6.6_deps-dev.plt',
  files_rec: ['/data/_build/dev/lib/myapp/ebin'],
  warnings: [:unknown]
]
Total errors: 0, Skipped: 0
done in 0m2.83s
done (passed successfully)

我不确定您的其他设置是什么,但正如我前面提到的,对我来说,它可以与以下内容一起工作:

$ mix dialyzer
Finding suitable PLTs
Checking PLT...
[:asn1, :bamboo, :bcrypt_elixir, :cache_server, :certifi, :compiler, :connection, :core, :cors_plug, :cowboy, :cowlib, :crypto, :database, :db_connection, :decimal, :ecto, :eex, :elixir, :elixir_make, :gettext, :hackney, :idna, :jason, :kernel, :logger, :metrics, :mime, :mimerl, :parse_trans, :phoenix, :phoenix_html, :phoenix_pubsub, :plug, :poison, :poolboy, :postgrex, :public_key, :ranch, :runtime_tools, :ssl, :ssl_verify_fun, :stdlib, :unicode_util_compat]
PLT is up to date!
Starting Dialyzer
[
  check_plt: false,
  init_plt: '/______/code/aetherwars_umbrella/_build/dev/dialyxir_erlang-21.0_elixir-1.7.2_deps-dev.plt',
  files_rec: ['/______/code/aetherwars_umbrella/_build/dev/lib/web/ebin',
   '/______/code/aetherwars_umbrella/_build/dev/lib/cache_server/ebin',
   '/______/code/aetherwars_umbrella/_build/dev/lib/database/ebin',
   '/______/code/aetherwars_umbrella/_build/dev/lib/core/ebin'],
  warnings: [:unknown]
]
Total errors: 70, Skipped: 0
done in 2m2.05s
Umbrely mix.exs:

# ...
def project do
    [
      apps_path: "apps",
      start_permanent: Mix.env() == :prod,
      deps: deps(),
      dialyzer: [plt_add_deps: :transitive],
      aliases: aliases()
    ]
  end

#....

defp deps do
    [
      {:dialyxir, "~> 1.0.0-rc.3", only: [:dev], runtime: false},
      {:benchee, "~> 0.11", only: :dev}
    ]
end

真有趣。您使用哪个erlang版本编译<代码>1.6.6-otp-20或
1.6.6-otp-21
?Elixir 1.6.6(使用otp 20编译)使用以下方法: