Hi all
I’ve got following dependencies errors:
Unchecked dependencies for environment test:
* gettext (Hex package)
the dependency is not locked (run "mix deps.get" to generate "mix.lock" file)
* poolboy (Hex package)
the dependency is not locked (run "mix deps.get" to generate "mix.lock" file)
* poison (Hex package)
the dependency is not locked (run "mix deps.get" to generate "mix.lock" file)
* comeonin (Hex package)
the dependency is not locked (run "mix deps.get" to generate "mix.lock" file)
* bypass (Hex package)
the dependency bypass in mix.exs is overriding a child dependency:
> In mix.exs:
{:bypass, "~> 0.6.0", [env: :prod, hex: :bypass, only: :test]}
> In /home/anujit/elixir/weight_protocol/apps/sap_odata_service/mix.exs:
{:bypass, [env: :prod, git: "https://github.com/PSPDFKit-labs/bypass.git", only: :test]}
Ensure they match or specify one of the above in your deps and set "override: true"
* cowboy (Hex package)
the dependency is not locked (run "mix deps.get" to generate "mix.lock" file)
* phoenix_html (Hex package)
the dependency is not locked (run "mix deps.get" to generate "mix.lock" file)
* httpotion (Hex package)
the dependency is not locked (run "mix deps.get" to generate "mix.lock" file)
* phoenix_pubsub (Hex package)
the dependency is not locked (run "mix deps.get" to generate "mix.lock" file)
* phoenix (Hex package)
the dependency is not locked (run "mix deps.get" to generate "mix.lock" file)
** (Mix) Can't continue due to errors on dependencies
What am I doing wrong?
Thanks
2 Likes
did you do what the error messages above suggest?
1 Like
Yes I run:
mix deps.get
Running dependency resolution...
1 Like
What does it mean? Here are my deps:
defp deps do
[{:phoenix, "~> 1.2.1"},
{:phoenix_pubsub, "~> 1.0"},
{:phoenix_html, "~> 2.9"},
{:phoenix_live_reload, "~> 1.0", only: :dev},
{:gettext, "~> 0.11"},
{:poison, "~> 3.0", override: true},
{:cowboy, "~> 1.0"},
{:bypass, "~> 0.6.0", only: :test},
{:sap_odata_service, in_umbrella: true}
]
end
1 Like
Check out a mix.exs file in your “soap_odata_service” umbrella app. It is here:
/home/anujit/elixir/weight_protocol/apps/sap_odata_service/mix.exs
there is an entry for bypass that points to git repo, while one of dependencies points to a version of package from hex.pm.
You need to decide which one to use, and add “override: true” to the line.
1 Like
It works Thanks so much.
What does override: true mean?
2 Likes
Google “elixir hex mix override true” as an exercise in Google-Fu and let me know if it still needs clarifications. If so, I’ll explain.
1 Like
I read the doc
https://hexdocs.pm/mix/Mix.Tasks.Deps.html
It is not clear for me.
Thanks
2 Likes
When you specify “override: true”, the resolution dependency done by mix
will force the use of version that you specify in mix.exs
file. It will ignore versions required by other dependencies in case the conflict is detected.
This obviously mean you should use this with caution. Using override: true
it is perfectly possible to force a dependency that is incompatible with one of the other libraries. The result may be that your project won’t compile anymore, or - worse - that it will but something will malfunction because you forced incompatible library version.
5 Likes