img
AboutContactBlogGet in touch

6 min read

Laravel Herd: Everything You Should Know, Including Pros & Cons

Laravel Herd

While we couldn’t attend it in person, we’ve been galloping Laracon speeches online and keeping up with the fresh updates happening in the Laravel community. And we're excited to spread the word among our fellow Laravel developers about the recent debut of Laravel Herd - released just a few weeks ago.

If you're simply looking for a straightforward setup with PHP and some useful extra features and also happen to be a Mac user, then the recently launched Laravel Herd is something that you’ll definitely love. Laravel Herd was created in partnership with Laravel by Marcel Pociot; it offers some great features and has very nice documentation. We've given it a test run and are here to share our impressions! So let’s get right to it.

What is Laravel Herd?

As the official website states: “Herd is a blazingly fast, native Laravel and PHP development environment for macOS”. This tool gives you the ability to start developing with Laravel just after installing it, so you don’t need to worry much about installing and configuring a web server because Herd does that under the hood.

Herd vs Valet

When exploring stack management solutions for MacOS, there's a similar software, Laravel Valet, which does pretty much the same stuff. It automatically routes all requests to your local *.test domains to the sites installed on your machine. In contrast, Herd adopts a distinct approach by individually installing stack-related tools. Unlike Valet, Herd doesn't depend on Homebrew for its installations.

Even though Installing PHP using Homebrew is a valid method, it could pose challenges if users require older language versions. This situation might prompt users to explore third-party taps, which aren't included in the default Homebrew package. This additional step is just a Google search away, but why go through the extra steps when Herd offers a comprehensive, out-of-the-box solution?

Graphical User Interface (GUI)

The genius is in simplicity. Installation is available via the regular DMG file; could it be any smoother? The software itself comes with a GUI and CLI, which is also a plus. Here’s what the GUI looks like.

Laravel herd

It’s clean; you get the functionality to automatically link local website projects to Herd, set the local domain for it, select a PHP version to run it on and even secure it with HTTPS. Quite the package of right-out-the-box features, isn't it?

Laravel herdThe Expose tab gives you the ability to expose your websites to the global network. It uses Expose as a backend, so you’ll need to sign up with them and get the token to make this work. This feature also supports Ngrok and uses the same steps as Valet does in order to set it up. Pretty convenient.

Laravel herd

Laravel herd

It also creates a menu bar icon for faster access, so you can easily swap between PHP versions, enable/disable services and access the PHP configuration file.

Command Line Master Race

If you prefer typing over clicking, then Herd has got you covered. It comes with a CLI command for every operation which you may do in the GUI. Changing the PHP version is as simple as the following:

$ herd use 8.2

Since Herd shares the functionalities with Valet, they’ve decided to have the same commands for linking and parking project directories. You can either “park” your whole project’s directory, which will result in an automatic domain and accessibility setup for all projects in that directory or just “link” a specific, single project directory. For that, you just have to go to your project/projects directory and run:

$ herd park

Or

$ herd link

Securing a website with HTTPS via the CLI is also very simple; just run the following:

$ herd secure example-site

What Are The Drawbacks?

When it comes to Laravel Herd's drawbacks, it's worth noting that while it’s a nice stack management tool, it doesn't include database functionality. This is a shared characteristic with Valet; both tools don't inherently provide database support, and you have to use something else to get MySQL/PostgreSQL and Redis running on your machine. One such option worth exploring is DBngin. This tool aligns with Herd's simplicity and provides a local database and in-memory storage setup.

Another limitation to consider is that Herd is available only for Mac users. Unfortunately, no versions are available for Windows or Linux users, much like the challenge developers faced with Valet. Taking into account that not all Laravel developers are Mac users, the flexible features of Herd could potentially remain out of reach for those who don't use Mac systems. Setting that aside, Herd does its job and does it exceptionally well!

img

Meet the authors

We are a 200+ people agency and provide product design, software development, and creative growth marketing services to companies ranging from fresh startups to established enterprises. Our work has earned us 100+ international awards, partnerships with Laravel, Vue, Meta, and Google, and the title of Georgia’s agency of the year in 2019 and 2021.

img
Contact us