I’m going to use Docker to run elixir app (oh, please don’t tell me don’t use Docker!).
This is a part of my Dockerfile for an umbrella to install dependency to leverage cache (i.e. do not compile deps everytime)
RUN mkdir -p \ apps/foo \ apps/bar COPY mix.exs mix.lock ./ COPY apps/foo/mix.exs apps/foo/ COPY apps/bar/mix.exs apps/bar/ RUN mix deps.get && mix deps.compile
If I just copy top-level
mix.lock, it fetches all dependency but it only compiles top-level deps, not deps of individual apps. So I had to copy
mix.exs of all apps. I guess
mix deps.compile needs some package info from
Is it possible (by design) that mix later supports compiling all deps only from mix.lock?