Entre las novedades de Laravel 8 tenemos que viene con un cambio importante de paradigma porque puedes instalarlo con Jetstream en cualquiera de sus dos stacks: Livewire o Inertia, pero ésta es una decisión que debes tomar durante la instalación. Como ya es tradicional, uno de sus nuevos requerimientos es utilizar como mínimo PHP 7.3 o superior, así que quizás tengas que hacer algunas modificaciones en tu entorno de trabajo.
Plataformas de trabajo
Primero, debes contar con una plataforma de trabajo que tenga las herramientas básicas de Backend, tales como: Apache/Nginx, MySQL y PHP. Sin embargo, aunque puedes instalar los servidores de forma independiente con el gestor de programas de tu sistema operativo (Ejemplo: Apt en Linux), esto casi siempre requiere de una gran inversión de tiempo ante los contratiempos que pueden surgir en la instalación, por lo que se hace necesario contar con las plataformas de trabajo más automatizadas.
Existe una variedad de ellas, como lo son:
Estas plataformas fueron las primeras capaces de instalar todos los programas necesarios como un solo paquete y aún se mantienen vigentes.
Recuerda revisar las versión de cada uno de los programas que incluyen. Te recomendamos como versiones mínimas: PHP 7.3 o superior, Apache 2.0, MySQL 5.6 o superior (si prefieres MariaDB, usa la versión 10.3 como mínimo).
Los servidores web basados en Nginx puede que no estén incorporados en estas plataformas.
La desventaja de estas plataformas es que el manejo de tareas básicas de redes y del servidor web Apache requieren conocimientos tales como la creación de virtualhosts, y hay características más modernas como la creación de sitios https
, que puede llegar a complicarte las cosas y quitarte tiempo valioso.
Por esta razón surgieron nuevos stacks de entornos de desarrollo que hacen sencillo el proceso de configuración, y resuelven fácilmente necesidades que incluyen trabajo fuerte de networking, como el compartimiento de sitios. Además, garantizan que el entorno de desarrollo pueda ser reproducido rápidamente en otro equipo para propósitos de pruebas.
Estos entornos modernos ya están optimizados para favorecer el desarrollo con Laravel, por lo que incorporan stacks muy completos de servidores que vas a necesitar. Entre estos tenemos a Laravel Homestead, Laravel Valet y Laragon.
Laravel Homestead
Laravel Homestead es un paquete de Vagrant que nos ofrece un excelente entorno de desarrollo para nuestras aplicaciones de Laravel. Con Homestead no tendrás que instalar PHP, un servidor web o algún otro software de servidor en tu equipo, ya que su ecosistema incluye todas las herramientas necesarias para desarrollar aplicaciones de Laravel increíbles.
Si deseas aprender a crear tu entorno de desarrollo usando Vagrant y Homestead, te recomendamos el siguiente tutorial.
Laravel Valet
Laravel Valet es una excelente alternativa si tu equipo no posee los recursos necesarios para emular los entornos virtuales que requiere Homestead. Valet te ofrece un entorno de desarrollo muy ligero que te permite de manera sencilla servir tus aplicaciones, compartirlas, personalizar dominios, puertos, entre otras características.
Mientras que Homestead puede llegar a exigir desde 12 a 24 Megas de RAM aproximadamente, Laravel Valet solo requiere 4 Megas.
Si deseas aprender a crear tu entorno de desarrollo usando Valet, te recomendamos los siguientes tutoriales: Valet para MAC y Valet para Linux.
Laragon
Laragon es una interesante opción para aquellos usuarios de Windows que no usen Homestead. Laragon te ofrece un entorno de desarrollo para PHP muy rápido y ligero, diseñado especialmente para trabajar con Laravel.
Si deseas aprender a crear tu entorno de desarrollo usando Laragon, te recomendamos el siguiente tutorial.
Manejador de dependencias
Para Laravel 8 sigue siendo indispensable la utilización de Composer como su manejador de dependencias, así que es necesario instalarlo antes de continuar.
Puedes aprender a instalar Composer revisando este tutorial: Instalación de Composer.
Recuerda que Composer 2.0 ha sido liberado recientemente, si deseas actualizar a esta nueva versión, visita el siguiente tutorial.
Instalación de Laravel 8
1.- Mediante el instalador de Laravel
Puedes descargar el instalador de Laravel con Composer usando el siguiente comando:
# composer global require laravel/installer
Asegúrate que la ruta al directorio ~/.composer/vendor/bin
esté entre tus PATHs, para que así pueda ser encontrado y ejecutado el instalador de Laravel apropiadamente por tu sistema. Este directorio puede variar dependiendo del sistema operativo e incluso la distribución que estés usando.
Luego, utilizando el comando laravel new
puedes crear una copia de la última versión de Laravel. Por ejemplo, vamos a crear un proyecto llamado test
:
# laravel new test
Puedes elegir el nombre que desees para el nuevo proyecto.
2.- Mediante composer create-project
También puedes instalar Laravel con Composer usando el siguiente comando:
# composer create-project --prefer-dist laravel/laravel test
Instalación de Laravel 8 con Laravel Breeze
Laravel Breeze proporciona un excelente y sencillo punto de partida para crear tus aplicaciones de Laravel con autenticación. Para comenzar a utilizar Breeze, lo primero que debes hacer es crear un nuevo proyecto de Laravel:
# laravel new test
Luego, dentro del directorio raíz de tu proyecto, instala Breeze como una dependencia de desarrolo:
# composer require laravel/breeze --dev
Ahora, usa el comando de Artisan breeze:install
para que Breeze copie todos sus controladores de autenticación y vistas (diseñadas en Blade y Tailwind) dentro tu proyecto:
# php artisan breeze:install
Y finalmente, ejecuta el siguiente comando para compilar todos los assets del frontend de Breeze:
# npm install && npm run dev
Recuerda que puedes personalizar los controladores y vistas de Breeze para adaptarlo a las necesidades de tu aplicación.
Laravel Breeze, a diferencia de Jetstream, no incluye Livewire, Intertia o Vue.js.
¿Qué hacer luego de instalarlo?
Crear Virtual Host
Para aquellas plataformas distintas de Homestead, Valet y Laragon que ya mencionamos tienes que trabajar todavía un poco más para poder acceder al sitio, Laravel funciona mejor con un virtual host en el caso que estés usando Apache como servidor Web. Sea cual sea la plataforma de trabajo que hayas elegido, puedes crearlo fácilmente consultado las instrucciones dependiendo del sistema que uses:
- Instrucciones para Windows: Creando Virtual Hosts con Apache en Windows para WAMP o XAMPP
- Instrucciones para Linux y Mac: Cómo crear Virtual Hosts con Apache para Linux y Mac
Cuando estés creando tu host es importante apuntar el virtual host a la carpeta /public
. Por ejemplo voy a crear un virtual host en mi servidor WAMP llamado test:
<VirtualHost *:80> DocumentRoot "c:/wamp/www/test/public" ServerName test ServerAlias test.local <Directory "c:/wamp/www/test/public"> AllowOverride All Require local </Directory> </VirtualHost>
Luego ya puedo acceder a la ruta http://test.local
Recuerda colocar http://
la primera vez que accedas a un virtualhost para evitar que el navegador lo interprete como una búsqueda.
Instalación de Laravel 8 con Jetstream
Laravel 8 también introduce la posibilidad de utilizar Laravel Jetstream, el cual permite estructurar una aplicación para Laravel con un diseño hermoso. Jetstream proporciona el punto de partida perfecto para tu próxima aplicación de Laravel e incluye registro, inicio de sesión, verificación de email, autenticación de doble factor, manejo de sesión, el soporte de API a través de Laravel Sanctum y el manejo de equipos de trabajo (opcional).
Stacks disponibles
Laravel Jetstream te ofrece dos opciones de stack de frontend: Livewire e Inertia. Cada stack proporciona un punto de partida poderoso para construir tu aplicación; sin embargo, el stack que elijas dependerá del lenguaje de plantillas de tu preferencia: Livewire se utiliza en combinación con Blade mientras que Inertia se complementa con Vue.
Instalando Jetstream
Si ya descargaste el instalador de Laravel, puedes usar la opción --jet
para crear una nueva aplicación con Jetstream. Así, para que nuestro proyeto test
utilice estás características fascinantes, lo crearíamos de la siguiente forma:
# laravel new test --jet
A continuación, el instalador te pedirá que escojas la opción para instalar Jestream acompañado del stack de Livewire o Inertia. Seguidamente, deberás decidir si utilizarás grupos de usuarios de Jetstream seleccionando la opción teams.
El proceso de instalación de Laravel 8 con Jetstream continúa con la descarga de los archivos requeridos junto a sus dependencias. Al final te pedirá que ejecutes el siguiente comando desde el directorio de tu proyecto para instalar, compilar las dependencias de NPM y migrar la base de datos:
npm install && npm run dev php artisan migrate
Es posible que obtengas errores durante la ejecución del comando npm install
, esto ocurrirá con toda seguridad si tu sistema tiene instalado nodejs con una versión inferior a la 10 y npm con una versión menor a la 6. Así que asegúrate de tener instalados y actualizados ambos paquetes en sus versiones más recientes.
Recuerda configurar tu base de datos en el archivo .env
antes de ejecutar las migraciones.
Instalación de Jetstream con Composer
Si olvidaste instalar Jetstream cuando creaste el nuevo proyecto, aún puedes hacerlo ejecutado desde el directorio de tu proyecto lo siguiente:
# composer require laravel/jetstream
Luego, debes ejecutar el comando Artisan jetstream:install
acompañado del nombre del stack de tu preferencia. Además, también puedes especificar la opción teams para trabajar con los grupos.
Tendríamos dos posibles formas para instalar Jetstream según el stack:
Instalando con Livewire:
# php artisan jetstream:install livewire --teams
o con Inertia:
# php artisan jetstream:install inertia --teams
Ya después de que instales Jetstream, procede a compilar las dependencias NPM:
npm install && npm run dev php artisan migrate
Jetstream debe ser instalado únicamente en proyectos nuevos. No debes intentar migrar un proyecto ya existente a Jetstream.
Felicidades, ya puedes acceder y comenzar con tu nuevo proyecto de Laravel 8.
Es posible que recibas una excepción de Laravel cuando no tenga suficientes privilegios de acceso, normalmente cuando no se pueda crear el archivo de logs de Laravel en el directorio storage
. Puedes remediar esto ajustando los privilegios, por ejemplo en Linux puedes utilizar el comando chmod
para otorgar los privilegios de lectura y escritura de los usuarios.
Desde el directorio que contiene tu proyecto, puedes ejecutar:
# sudo chmod -R o=rwx storage
La opción -R le indica al comando chmod que cambie los permisos de todos los archivos y directorios recursivamente, mientras que o=rwx concedera permisos de lectura, escritura y ejecución a otros usuarios
Material relacionado
- Laravel documentación (Oficial)
- Serie de composer
- Serie de Vagrant y Homestead
- Curso de Laravel desde cero
- Instalación y configuración de entornos
Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.