Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

beartown's avatar

Installation of Laravel 12 is confusing

So they removed Sail from the Laravel docs and delegated it to separate package, not mentioned in the main Installation docs. I'm tired of Laravel changing the ways to install it all the time, lol.

Also, they make an installer to make things as easy as possible, while not even mentioning how to make it work. There's not a single mention in the docs that we need to update $PATH to actually allow running "laravel new" command.

I'm totally lost on the priorities of new tech stacks sometimes. They hold your hand for simple stuff, while not even mentioning a crucial step that many people wouldn't know, making their docs not working.

3 likes
25 replies
vincent15000's avatar

Your post shows that you don't have the basic knowledge for OS administration (Ubuntu and/or Windows), for example to allow using the laravel new command.

The Laravel documentation is a documentation on Laravel and not on Ubuntu or Windows.

2 likes
beartown's avatar

@vincent15000 first of all, I'm not using Ubuntu nor Windows. I'm using Mac. Second of all, I know all of these, I'm talking about some hypocrisy of modern tech stacks which are too noob-friendly, creating highly sub-optimal tools to satisfy newbies, while also ignoring introducing them to some steps.

You misunderstood my post. I'm tired of this hypocrisy and I'd like it to be either way. Either we stop pretending it's noob-friendly by creating millions of "helping" tools and thus polluting the tech environment with confusion, or we guide newbies step by step. It's not the first time I see this paradox.

3 likes
vincent15000's avatar

@beartown Yes and no ... there are videos on Youtube on how to easily repair your car, but if you don't know how to handle the tools, you can't repair it easily.

With Laravel it's similar, you have a documentation on how to easily use Laravel, but if you don't know PHP and a bit system administration, you can't use it easily.

1 like
RemiM's avatar

While the subject is important, I believe you can change the topic category of this discussion to feedback.

2 likes
Tray2's avatar

@beartown I suggest that you install Laravel Herd on your Mac, then you don't need to touch any system parameters at all, just install and run, then you will have access to the laravel installer, composer, per project php versions, per project Node versions, and quite a bit more.

https://herd.laravel.com/

4 likes
beartown's avatar

@Tray2 I don't like Herd. I wanted to check it out just out of pure curiosity. I use Sail and I'm disappointed it's been delegated to an external package section in the docs, not even mentioned in the main docs anymore.

2 likes
frankhosaka's avatar

I also felt lost installing Laravel 12. I ended up using Laravel Cloud, and it asked me to fetch the code from GitHub, but my code is on my notebook. Through trial and error, I installed Laravel 11's Breeze Blade and was able to access the control panel. I believe the Laravel introduction should include a note for those who have no idea how to use Laravel, like me, saying: The Laravel 12 tutorial is not ready, please refer to the Laravel 11 documentation."

2 likes
simonebogni's avatar

@frankhosaka forgive me, but I really don't understand what Laravel Cloud would have to do with any of this. LC is for deploying your code (to AWS) and make it live, hence why they need a connection to GitHub/GitLab/BitBucket. It includes features like DDoS protection and CDN caching from CloudFlare.

Sail, the tool mentioned by OP, and Herd are for the local environment. It means when you're coding on your computer abs they don't have anything to do with the remote location where you host your application. For the same thing you could use Lando, which I highly recommend over Sail and Herd.

It feels like there is a lot of knowledge missing here, but it's not related specifically to the framework. It's more related to how development and deployment actually work.

And to be honest, I feel this shouldn't be documented either on the Laravel website. Forgive the rudeness of the comparison, but documenting this would be like going into a calculus class and expecting to be told how to multiply and divide numbers.

It's not that the Laravel 12 docs is not ready. It's that you're trying to look for things that shouldn't be there.

1 like
jlrdw's avatar

All starter kits are optional. Just do a composer install.

2 likes
beartown's avatar

@jlrdw the fact that they're optional doesn't mean they can't be confusing and misguided.

2 likes
vincent15000's avatar

@beartown When you cook a new recipe and don't execute it well, does it mean you weren't properly guided ?

In a recipe, you're not taught how to whip egg whites, it just tells you to whip them. If you don't know how, you need to look in another book that teaches cooking techniques.

It's the same for software development ... Laravel is like a cookbook and you need to know the basic techniques to use it properly.

3 likes
beartown's avatar

@vincent15000 I think this analogy is not great, because cooking recipies are targeted at people who can cook. Laravel installing methods are not targeted to people who know what they are doing. They try to guide them like newbies, but ignoring some non-trivial steps silently. This is what I mean. If it wasn't for the newbies, these methods wouldn't exist at all, because they are compromise that doesn't add much value to seasoned and mid-level programmers.

1 like
vincent15000's avatar

@beartown Exactly like Laravel is targetted to people who can develop. It's not a no code framework !

1 like
RemiM's avatar

I just found out that the Laravel team, listening to their users, have added a flag to allow Custom Community Laravel Starter Kits.

I can imagine API only, Livewire without Volt, Sail etc, will be created at some point.

2 likes
Tray2's avatar

@RemiM Livewire without Volt was implemented a week or so ago, and it's an official release.

3 likes
puklipo's avatar

php.new also automatically sets the PATH.
https://php.new/install/mac/8.4

I don't recommend php.new for people who can set it up themselves, but the necessary documentation is written correctly for beginners who know nothing.

1 like
cjke7777's avatar

@beartown I prefer the sail approach as well. I work across multiple projects with varying requirements and I don't want to pollute the host with a particular version of php.

You can still use the old sail command and it will install Laravel 12 by default:

curl -s "https://laravel.build/api" | bash

You can view what its doing under the hood: https://laravel.build/api

2 likes
beartown's avatar

@cjke7777 yeah, I usually do that. And I've also, like you, checked what it's generating.

1 like

Please or to participate in this conversation.