Dialyxir doesn't find dep functions or types (Elixir 1.12)

When I run dialyxir on my project, using mix, it reports unknown function or unknown type errors for what appear to be every single invocation of a function or type from one of my dependencies.

My mix.exs section is now just:

      dialyzer: [
        plt_add_deps: :app_tree

But I have tried every incantation that I can find in the forum or help or SO. I tried changing :app_tree to {true, :transitive, :project, :apps_direct} and probably a few others, and none made any difference, except whether to tell me that the option was deprecated. I tried adding extra_applications to the plt_add_deps field. I tried adding either or both of deps or extra_applications to plt_add_apps, and still got nowhere. After checking some similar topics to this post I’ve now also tried removing the plt_add_apps completely.

I’m using dialyxir 1.1.0 with erlang 24.0.6 and elixir 1.12.3 using asdf. Per the similar posts I also took a shot at changing my tool version to elixir 1.12.3-otp-24.

Is there a way in this version combination to get Dialyxir not to give me 8800+ errors because it can’t find the functions and types of my dependencies?

(On my Elixir 1.7.4 branch I had a similar but slightly less annoying problem of 700-800 errors because all of them associated to line 0 of the include file. I live in hope that any fix provided might work there too.)

For now I’ve added a line to my ignore file to ignore function warnings for each of my dependencies, and about 8 more lines to ignore types I have in specs.

Thats got to be really frustrating, and I don’t have a conclusive answer. I’ve only ever had to use plt_add_apps: ~w(gettext inets jason mix plug sweet_xml ratio)a style on a some libraries I maintain (app list varies a bit of course).

When I’m using dependencies that are paths (not hex) I do sometimes have to use the --force-check option to force checking of local deps.

Other than that, blowing away the PLT files completely (in the _build directory) to be absolutely certain they are being rebuilt is all I can think of.

I tried inserting a partial list of packages in plt_add_apps, and ran --force-check, but there is still no change.

I had also previously tried something similar based on feedback to an SO post: plt_add_apps: Enum.map(deps(), &elem(&1, 0)).

And of course the PLT is claiming that it has all the packages I’m expecting (aside from having more than it will list):
Checking PLT... [:arc, :asn1, :bcrypt_elixir, :briefly, :certifi, :combine, :comeonin, :compiler, :conform, :connection, :cors_plug, :cowboy, :cowboy_telemetry, :cowlib, :cpu_util, :crypto, :db_connection, :decimal, :earmark, :earmark_parser, :ecto, :ecto_sql, :eex, :elixir, :elixir_uuid, :etop, :ex_ami, :ex_crypto, :ex_data, :ex_doc, :ex_syslogger, :exactor, :exprintf, :exprof, :faker_elixir_octopus, :file_system, :floki, :gen_smtp, :gen_stage, :gen_state_machine, :gen_state_machine_helpers, :gettext, :git_cli, :hackney, :hpack, :html_entities, :html_sanitize_ex, ...]