Phoenix development on Windows has always been a persistent challenge, largely because the development environment often differs from the deployment environment. Given that production environments are typically Linux-based, this system inconsistency introduces various risks and potential compatibility issues. Furthermore, the difficulty is significantly compounded if your project utilizes NIFs (Native Implemented Functions). This necessitates installing complex C/C++ toolchains, such as GCC, on Windows, which is a common source of failed compilations and setup frustrations.
To address these environment complexities, I’ve made a template that uses a container image to configure the entire development setup. The primary benefit of this approach is its minimal requirement: developers only need to install Docker Desktop; Docker handles all the underlying dependencies and configuration. This offers numerous advantages in terms of consistency and isolation. The chief drawback, however, is that this setup is not ideal for development machines with limited hard drive space.
For complete details, please refer to the GitHub repository. All Docker-related configurations are located within the dedicated dev_container folder.Crucially, it’s portable to Linux and macOS as well, allowing you to maintain a clean and uncluttered host operating system.
check this link: