<p>Have you worked on a project where different Developers are developing with different tools or have different versions of packages installed?</p>
<p>In a development team, you want all environments to be consistent - including every Developer's local environment.</p>
<p>You want to have every environment to be as close as possible to each other or, ideally, identical.</p>
<p>You want everyone to use the same PHP version, the same web and database servers and the same packages installed.</p>
<p>Once things start to diverge, bugs can be introduced - such as writing code locally in a newer version of PHP than what's on production.</p>
<p>Ideally, you also want everything to be reproducible with locked dependencies and generate the same outcome regardless of when the commands are run.</p>
<p>This is one of the main reasons I've <a href="/daily/2024/11/11/could-nix-and-devenv-replace-docker-compose">started to use Nix and devenv for projects</a> - because they create environments that are both consistent and reproducible, reducing the chances of dependency mismatches and bugs creeping into my code.</p>
format:full_html
processed:|
<p>Have you worked on a project where different Developers are developing with different tools or have different versions of packages installed?</p>
<p>In a development team, you want all environments to be consistent - including every Developer's local environment.</p>
<p>You want to have every environment to be as close as possible to each other or, ideally, identical.</p>
<p>You want everyone to use the same PHP version, the same web and database servers and the same packages installed.</p>
<p>Once things start to diverge, bugs can be introduced - such as writing code locally in a newer version of PHP than what's on production.</p>
<p>Ideally, you also want everything to be reproducible with locked dependencies and generate the same outcome regardless of when the commands are run.</p>
<p>This is one of the main reasons I've <a href="/daily/2024/11/11/could-nix-and-devenv-replace-docker-compose">started to use Nix and devenv for projects</a> - because they create environments that are both consistent and reproducible, reducing the chances of dependency mismatches and bugs creeping into my code.</p>