tuvokki
Dependency check fails when in test environment
Hi,
I recently tried to upgrade a small application to ecto2 and sqlite_ecto2. Previously I could just run mix test to run my tests, but now if I do that dependency check fails while running tests:
$ mix test
Unchecked dependencies for environment test:
- decimal (Hex package)
the dependency does not match the requirement “~> 1.2”, got “1.1.2”- ecto (Hex package)
the dependency does not match the requirement “~> 2.2”, got “1.1.9”- sqlitex (Hex package)
the dependency does not match the requirement “~> 1.3.2 or ~> 1.4”, got “0.8.0”
** (Mix) Can’t continue due to errors on dependencies
There is a difference in the output of mix deps when run in the different environments:
$ MIX_ENV=test mix deps
- esqlite 0.2.3 (Hex package) (rebar3)
locked at 0.2.3 (esqlite) 1a8b6087
ok- connection 1.0.4 (Hex package) (mix)
locked at 1.0.4 (connection) a1cae722
ok- ranch 1.3.2 (Hex package) (rebar3)
locked at 1.3.2 (ranch) e4965a14
ok- poolboy 1.5.1 (Hex package) (rebar)
locked at 1.5.1 (poolboy) 6b461639
ok- decimal (Hex package) (mix)
locked at 1.4.1 (decimal) ad9e501e
the dependency does not match the requirement “~> 1.2”, got “1.1.2”- sbroker 1.0.0 (Hex package) (rebar3)
locked at 1.0.0 (sbroker) 28ff1b5e
ok- db_connection 1.1.2 (Hex package) (mix)
locked at 1.1.2 (db_connection) 2865c2a4
ok- ecto (Hex package) (mix)
locked at 2.2.7 (ecto) 2074106f
the dependency does not match the requirement “~> 2.2”, got “1.1.9”- cowlib 1.0.2 (Hex package) (rebar3)
locked at 1.0.2 (cowlib) 9d769a1d
ok- cowboy 1.1.2 (Hex package) (rebar3)
locked at 1.1.2 (cowboy) 61ac29ea
ok- mime 1.2.0 (Hex package) (mix)
locked at 1.2.0 (mime) 78adaa84
ok- plug 1.4.3 (Hex package) (mix)
locked at 1.4.3 (plug) 236d77ce
ok- sqlitex (Hex package) (mix)
locked at 1.3.3 (sqlitex) 3aac5fd7
the dependency does not match the requirement “~> 1.3.2 or ~> 1.4”, got “0.8.0”- sqlite_ecto2 2.2.2 (Hex package) (mix)
locked at 2.2.2 (sqlite_ecto2) 7a3e5c05
ok
And in prod or dev:
$ mix deps
- esqlite 0.2.3 (Hex package) (rebar3)
locked at 0.2.3 (esqlite) 1a8b6087
ok- connection 1.0.4 (Hex package) (mix)
locked at 1.0.4 (connection) a1cae722
ok- ranch 1.3.2 (Hex package) (rebar3)
locked at 1.3.2 (ranch) e4965a14
ok- poolboy 1.5.1 (Hex package) (rebar)
locked at 1.5.1 (poolboy) 6b461639
ok- decimal 1.4.1 (Hex package) (mix)
locked at 1.4.1 (decimal) ad9e501e
ok- sbroker 1.0.0 (Hex package) (rebar3)
locked at 1.0.0 (sbroker) 28ff1b5e
ok- db_connection 1.1.2 (Hex package) (mix)
locked at 1.1.2 (db_connection) 2865c2a4
ok- ecto 2.2.7 (Hex package) (mix)
locked at 2.2.7 (ecto) 2074106f
ok- cowlib 1.0.2 (Hex package) (rebar3)
locked at 1.0.2 (cowlib) 9d769a1d
ok- cowboy 1.1.2 (Hex package) (rebar3)
locked at 1.1.2 (cowboy) 61ac29ea
ok- mime 1.2.0 (Hex package) (mix)
locked at 1.2.0 (mime) 78adaa84
ok- plug 1.4.3 (Hex package) (mix)
locked at 1.4.3 (plug) 236d77ce
ok- sqlitex 1.3.3 (Hex package) (mix)
locked at 1.3.3 (sqlitex) 3aac5fd7
ok- sqlite_ecto2 2.2.2 (Hex package) (mix)
locked at 2.2.2 (sqlite_ecto2) 7a3e5c05
ok
Since I’m quite new to this I don’t understand these differences, they might me explainable but not by me. This is my mix.exs:
defmodule Helloplug.Mixfile do
use Mix.Project
def project do
[
app: :helloplug,
version: "0.1.0",
elixir: "~> 1.5",
start_permanent: Mix.env == :prod,
deps: deps()
]
end
# Run "mix help compile.app" to learn about applications.
def application do
[
extra_applications: [:logger, :sqlite_ecto2, :ecto, :cowboy, :plug],
mod: {WebsiteRouter, []}
]
end
# Run "mix help deps" to learn about dependencies.
defp deps do
[
{:cowboy, "~> 1.1"},
{:plug, "~> 1.4"},
{:sqlite_ecto2, "~> 2.2"},
{:ecto, "~> 2.2"}
]
end
end
First Post!
kip
ex_cldr Core Team
Dependencies are only updated when you run mix deps.update -all or deps.unlock dep followed by mix.deps.get
I’d suggest in this config a mix deps.update --all should be ok.
Popular in Questions
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible.
total = 10
while total != 0
...
New
can someone please explain to me how Enum.reduce works with maps
New
I’m working on defining a simple Ecto schema for a table (in PostGres), but I don’t see where I can define a column as NOT NULL. Conside...
New
I am trying to implement my new.html.eex file to create new posts on my website.
new.html.eex:
<h1>Create Post</h1>
<%= ...
New
In templates/appointment/index.html.eex:
<%= for appointment <- @appointments do %>
<tr>
<td><%= appoi...
New
Hi guys, i’m new in the Elixir world, and i have to say, that i love it!
i’m having some problem to understand anonymous functions with ...
New
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
Hi all,
Trying to get some more clarity over utc_datetime and naive_datetime for Ecto:
The documentation above suggests that while ...
New
Credo is smart enough to check for (something like) this:
assert length(the_list) == 0
with this response:
Checking if an enum is empt...
New
How to handle excepions in elixir?
Suppose i have A, B, C ,D, E modules. and each module has get() function.
A.get() method will call t...
New
Other popular topics
Hello everyone,
I try to use an Javascript Event Handler in my root.html.leex file.
Therefore I created a function in the app.js file: ...
New
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service.
Currently when I de...
New
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
New
Credo is smart enough to check for (something like) this:
assert length(the_list) == 0
with this response:
Checking if an enum is empt...
New
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!)
This post collects co...
New
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New
There are pre-rolled solutions for other frameworks that do work. However, Phoenix does not seem to have these. Have people had good expe...
New
For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance








