I ran mix app.tree
and found these dependencies:
my app --> que --> memento --> mnesia
// memento has it in :extra_applications
my app -> mnesia
// I had it in :included_applications
I still don’t understand how this would be circular, but when I remove my included_applications line, the error disappears and the release builds.
original post:
Anyone know what would cause circular dependencies when building a release, but not when running production build with mix?
My app (:gjwapp) was working fine, for
MIX_ENV=prod mix phx.server # works fine
MIX_ENV=prod mix release beta1
./bin/beta1 start # worked fine
Apparently, I broke it.
What I have done that might matter:
- started using
Mnesia
, which brought inmemento
- deleted my _build folder to clean (probably should have done that?)
Now, mix phx.server still works, but
MIX_ENV=prod mix release beta1
gives:
Generated gjwapp app
* assembling beta1-0.1.0 on MIX_ENV=prod
* skipping runtime configuration (config/releases.exs not found)
** (Mix) Circular dependencies among applications: [{memento,"0.3.1"},{gjwapp,"0.1.0"}]
I’ve cleaned, switched from elixir master to rc, back to master. Stumped.