Shifting Homestead

Joe • April 19, 2019

Laravel Homestead Projects

No, not quite the Laravel Shift you may be thinking of. Shifting Homestead means we are taking some features that are currently baked into Laravel Settler and moving them to be installed on demand from Laravel Homestead as configuration items. If you don’t use these features you may never notice a change at all. If you are using any of these features you might notice your first "vagrant up" will install utilities as needed where today Homestead may not.

The affected features are Crystal Programming Language & Lucky Framework, Microsoft Dot Net Core, Golang, oh-my-zsh, Ruby & Rails, Chrome WebDriver & Laravel Dusk, and Zend Z-Ray.

“Why are you doing this?” Because size matters. Vagrant boxes are huge. Homestead has ballooned larger than the average box due to the sheer number of things we install. It’s time to pull back on that a bit because not everyone in the world has the luxury of high-speed internet access. While most of you reading this will be via a large telco’s high-speed systems and laugh; there is a significant amount of developers out there who will be reading this via 3G if they’re lucky. Also, I’m incredibly impatient and I’m sure most of you would rather be working on code than waiting on your download to finish.

By reducing the primary download box size and shifting the longer provisioning to those who use the features that have been moved to an on-demand install. This means when you provision the machine for the first time it may take an extra few minutes to complete compared to how long it may take today. This is expected behavior and is no cause for alarm. There will be no impact on box performance at all. We’re not changing anything about how the system operates, just when some features are installed and configured into the operating system.

Feel free to jump into the Laravel Discord #homestead channel with any questions you may have.

Happy Coding.