You’re right, BEAM bytecode is indeed platform-independent.
But if your Release uses any NIFs or is built with include_erts: true
, it will only run on compatible systems. On top of that, if you don’t use include_erts: true
, it can be tricky to make sure the versions of the Erlang VM/OTP you’re using across operating systems are actually compatible. This is why I would generally not recommend this approach.