Instalación de Laravel en Windows 11

Por motivos irrelevantes para esta publicación, tuve que formatear mi notebook, y mientras instalaba todos mis programas, traté de crear un proyecto con Laravel, lo que me hizo enfrentarme a varios problemas.

Es cierto, la instalación de Laravel debería ser un proceso simple, de pocos pasos, pero también puede traer consigo los problemas, que tal vez alguno no te deja avanzar, así que quiero compartir una posible solución. Empecemos…

Programas a instalar

Principalmente tenemos:

  • Xampp
  • Composer
  • Node.js
  • Git

Xampp

Si bien existen otras alternativas como Wampp, en mi caso, yo voy a explicar esto con Xampp. Podés instalarte el programa desde la página de Apache friends:

https://www.apachefriends.org/es/index.html

(De preferencia la última estable hasta la fecha: PHP 8.2.12)

Una vez finalizado el proceso, abrí un símbolo de sistema o terminal y escribí:

php -v

Si por algún motivo te devuelve un error, entonces haremos lo siguiente:

Vamos a pulsar tecla Windows y a escribir «editar las variables de entorno del sistema»

Dentro de «Opciones avanzadas», hacemos clic en el botón «Variables de entorno» Luego al apartado «Variables del sistema», seleccionamos «Path» y luego en el botón «Editar»

Pulsamos en el botón «Nuevo» y guardamos la siguiente ruta: «C:\xampp\php» (Revisá que la carpeta PHP esté instalada en ese directorio) Guardamos todos los cambios.

Cerramos la terminal, la abrimos nuevamente y volvemos a probar:

php -v

Composer

Es un gestor de paquetes, así como npm, pero en este caso para PHP.

Nos dirigimos a la página de Composer:

https://getcomposer.org/

Descargamos el archivo .exe:

https://getcomposer.org/Composer-Setup.exe

Y lo instalamos.

Aunque también podemos hacer la instalación por consola como se indica en:

https://getcomposer.org/download/

Ahora, todo esto está muy bien, sin embargo es probable que en este punto te hayas encontrado con algún error.

En la mayoría de los casos puede ser que el antivirus esté bloqueando la instalación. Esto es algo común, podés desactivar temporalmente tu antivirus e intentar la instalación. Y una vez terminada, obviamente acordate de volverlo a activarlo, eso es mucho muy importante.

Node

Como bien sabemos (o te enterás ahora), una parte de Laravel usa node.js, esto permite la integración con otras tecnologías como React o Vue, para eso tenemos que tener instalado el programa desde:

https://nodejs.org/es

Una vez finalizado, vamos a probar los siguientes comandos por consola:

node -v

Y después:

npm -v

Puede ser que alguno de los dos te devuelva un error, en mi caso tuve problemas con el comando npm, importante para la instalación de Laravel. Entonces vamos a revisar dos cosas.

Primero probamos que exista dentro de nuestro sistema la variable de entorno:

Si ésta no existe, la agregamos «C:\Program Files\nodejs\»

Por último vamos a escribir en la consola lo siguiente:

Set-ExecutionPolicy Unrestricted

Luego repetimos el mismo proceso que hicimos con PHP, cerramos la consola, la volvemos a abrir y a probar ambos comandos.

Git

Instalamos git:

https://git-scm.com/

Este último probablemente lo tengas instalado, porque es el que nos permite subir nuestros proyectos a github.

Instalación de Laravel

Recordar que en este punto todo debe estar funcionando. Probar todo desde la consola:

php -v
composer -v
node -v
npm -v
git -v

Para hacernos más complicado el trabajo, tenemos que verificar lo siguiente:

Vamos a abrir Xampp y a hacer clic a la altura de «Apache» en «Config» Y a «PHP (php.ini)»

Una vez dentro buscamos lo siguiente: «extension=zip», si esta extensión tiene punto y coma delante («;extension=zip»), es decir que está comentada, le quitamos este caracter y guardamos el archivo.

Luego podemos proseguir a la instalación definitiva:

https://laravel.com/docs/11.x/installation

Empezamos por:

composer global require laravel/installer

Ingresamos en el directorio donde queremos crear nuestro proyecto, por ejemplo:

cd C:\xampp\htdocs

E instalamos el proyecto:

laravel new example-app

(Modificar «example-app» por el nombre que queramos ponerle a nuestro proyecto)

Nos va a dar la opción de instalar None, Breeze o Jetstream.

El primero es un proyecto Laravel básico, mientras que los otros son paquetes, muy recomendables para crear proyectos más ricos a nivel frontend con alguna tecnología como React, Vue o Livewire.

Yo me voy a inclinar por «breeze». Si no tenés mucha experiencia con Laravel te recomiendo «none», y «jetstream», sólo si estás familiarizado con este último.

Luego nos va a pedir si queremos integrar a Laravel con alguno de los frameworks nombrados anteriormente o simplemente crear un API:

Si no querés complicarte con ninguna de estas tecnologías (más adelante vamos a ver Livewire), podés simplemente seleccionar «blade»

Luego nos va a hacer preguntas como si queremos el modo oscuro o el testing, si no estamos familiarizados con esto le damos a todo enter.

Comenzará la instalación…

Nos va a preguntar con qué base de datos vamos a trabajar.

Con SQLite tendremos una base de datos simple, un archivo, aunque será de utilidad para trabajar nuestro proyecto, y además Laravel es independiente al motor de base de datos. Pero no es recomendable para proyectos productivos medianos o grandes, por lo menos con mucha concurrencia de usuarios. En todo caso podés instalar esta tipo de base de datos, pero en etapas de desarrollo o si aún no tenés definido el motor de base de datos que vas a usar.

Sino podemos elegir cualquier otra opción.

En el caso de PostgreeSQL o SQL Server tenemos que tener instaladas las extensiones.

En mi caso voy a trabajar con MySQL que ya me viene con Xampp.

Conectar a MySQL

Nos va a preguntar si queremos ejecutar la primer migración.

En otra publicación veremos que son las migraciones o podés revisarlo desde la documentación de Laravel:

https://laravel.com/docs/11.x/migrations

Pero antes que nada, primero tenemos que tener iniciado el servidor de MySQL, desde el panel de control de Xampp, pulsamos en «Start»

Dentro de la raíz del proyecto que acabamos de crear, debería haber un archivo llamado: «.env», vamos a modificar las siguientes variables:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=tu_base_de_datos
DB_USERNAME=root
DB_PASSWORD=

(Completar los valores con tus datos de conexión)

Por último le damos que sí («yes»):

Instalando dependencias de npm

Una vez finalizado el proceso, entramos en el proyecto desde la consola:

cd nombre-de-tu-proyecto

E instalamos las dependencias de npm:

npm install

Iniciar servidores

Finalmente vamos a iniciar el servidor de php:

php artisan serve

Abrimos otra consola e iniciamos también el servidor con npm:

npm run dev

Por último ingresamos la url que nos haya compartido la primer consola:

http://127.0.0.1:8000

¡Nada puede malir sal!