Environment Setup

4 months ago by giacholari

When working in a team of people that use different computers, having an identical setup is hard. If one changes the settings in the codebase (maybe they have upgraded the programming language version), then everyone else has to do so. This is not ideal and can lead to a really slow development of a product, let alone the frustration of the developers for having to make those changes. There are multiple ways to solve this issue. One, you can use Docker - which will spin up part of a virtual environment (it is really fast) and create containers of fully integrated environments of code that can be shipped around. Given that whoever wants to start contributing to your codebase has Docker, then they do not need to install anything in their host machine. Another solution is to spin up a fully virtual environment (slower than Docker). In the Laravel ecosystem, the recommended way is to use Vagrant, Virtual Box (or any other virtual machine provider), and Homestead (a Vagrant box with all the software needed to develop LEMP applications). Installing Homestead per project is ideal because it is under version control - which means that anyone pulling your code locally, regardless of their operating system, can spin up the box and start coding. This saves a lot of time and streamlines development. Consider this for your current or upcoming projects. Reference: https://bit.ly/3iq3hVv.