Exrm with hot upgrades and include_erts = false

Hi, I’m having troubles with exrm releases and hot upgrades and still can’t get it right.
I’m following guide in exrm documentation here: https://hexdocs.pm/exrm/deployment.html

To make things simpler, let’s assume I’m starting with clean, new project using mix new test --sup
Then mkdir rel/
echo "{include_erts, false}." > rel/relx.config ...adding exrm to project's depsmix deps.get
mix compile
mix release
mkdir /tmp/test
cp rel/test/releases/0.1.0/test.tar.gz /tmp/
cd /tmp/test
tar -xf /tmp/test.tar.gz
bin/test console`

And everything is nice up to this point…
Then I bump version from 0.1.0 to 0.2.0 and make mix release mkdir -p /tmp/test/releases/0.2.0 cp rel/test/releases/0.2.0/test.tar.gz /tmp/test/releases/0.2.0/ cd /tmp/test bin/test upgrade "0.2.0"

And always it ends up with ERROR: release_handler:check_install_release failed: {no_such_file, "/private/tmp/test/lib/kernel-5.1"}

I can still do it locally if I delete file rel/relx.config, but then my releases are not portable and I’m unable to run them on another machine.

What am I missing?

1 Like