If you are running Arch Linux and after a recent system upgrade Mix thinks it needs to recompile your whole project all the time, you might be experiencing an incompatibility between Erlang and zlib > 1.2.8. This is especially annoying with Phoenix, where the code reloader will recompile your project on every request now.
To fix this you should upgrade Erlang to the latest version. If you can’t, downgrade zlib to 1.2.8. To do this on Arch, follow these steps:
- Download zlib 1.2.8 from the official Arch archive
- Install that version with
sudo pacman -U PATH_TO_WHERE_YOU_DOWNLOADED_THAT_FILE
- Add zlib to the IgnorePkg section of
/etc/pacman.confuntil you can upgrade Erlang:
IgnorePkg = zlib
Now recompile Erlang and you should be fine.