DEV Community

Daniel Werner
Daniel Werner

Posted on • Originally published at 42coders.com on

Valet vs. Homestead – php development on macOS

There are two popular ways to set up Laravel/php development environment on macOS: Valet and Homestead. Both are good for development, but their approach is different. Valet is a minimalistic, fast development environment, but Homestead offers a full vagrant virtual machine – with all it’s advantages and disadvantages. Let’s dive into the strengths and weaknesses of both.

Valet

Good

  • Easy to set up
  • Fast – it is basically just nginx with dnsmasq
  • No configuration is necessary when you add a new project, just create a folder in your the web root and you are ready to go
  • It starts automatically with the operating system
  • No need for provisioning/start up/ssh

Bad

  • You have to install all the other necessary services like php, mysql, mongodb etc manually, but it is easy to do on mac with Homebrew
  • If you have projects which requires different versions of php, switching between the php versions could be tricky

Homestead

Good

  • It provides a full Ubuntu virtual machine
  • All necessary services are preinstalled
  • Easy to install other Linux services and binaries if necessary
  • Work on both macOS, Windows, and Linux, and the same development environment can be set up for every team member regardless of os.

Bad

  • It is slow. And sometimes even slower.
  • Every new project requires new entry in Homestead.yaml and /etc/hosts
  • Npm run dev runs extremely slow in vagrant, so it is better to run it outside, directly on mac, but all php commands (e.g. artisan) and composer should run in Homestead, which can be confusing sometimes
  • Setting up debugger requires some more effort compared to Valet (especially for php cli)

Both of these systems work well for php development, and as the documentation states these are intended for different audiences. It depends or your taste and your team’s needs which one suits you better. My choice is Valet.

The post Valet vs. Homestead – php development on macOS appeared first on 42 Coders.

Top comments (1)

Collapse
 
leslieeeee profile image
Leslie

There is a much easier way for PHP users -- ServBay.dev, especially for the beginners. It handles all PHP, MariaDB, PostgreSQL versions, plus Redis and Memcached. Run multiple PHP instances simultaneously and switch easily. No need any environment.
This tool has made my PHP dev simpler. Worth a shot!